Klasa, składnik const, wsk const, Kontener??

0

SIemka mam prace domowe z programowania obiektowego i niestety nie bardzo wiem o co chodzi w kilku kwestiach:/ Prosilbym o jakąś pomoc..

Napisać Klasę:

Obiekt: Klasa Napis - przechowujaca napis. Inicjalizowany stalym napisem (const char*).
Kontener: KontenerNapisow z dodawaniem obiektu typu Napis lub obiektu typu KontenerNapisow. Napisy dowolne równiez puste..

I tak jezeli chodzi o ta inicjalizcje i klase to to ma byc tak?

class Napis
{
    const char tekst[80];
public:
    Napis(const char* wsk);
   };

Napis::Napis(const char* wsk)
{
    strcpy(tekst, wsk);
}

Bo wyrzuca mi blad odnosnie tego const?

I o co chodzi z tym kontenerem??

0

po kiego grzyba ten const? W tym przypadku powoduje on same kłopoty.

0

Teoretycznie może być: const char tekst[80], ale nie łatwo tego zaimplementować, przecież i tak jest prywatny więc nie ma potrzeby dodatkowego zabezpieczenia. Poza tym funkcja strcpy nie sprawdza czy napis się zmieści w bufor docelowy, lepiej użyć strncpy;

class Napis
  {
   char tekst[80];
   public:
   Napis(const char *wsk) { strncpy(tekst,wsk,sizeof(tekst)); tekst[sizeof(tekst)-1]=0; } // strcpy może wyleźć poza 80 znaków
  };

1 użytkowników online, w tym zalogowanych: 0, gości: 1