ďťż

Ładny brzuch

Ostatnio ambitnie chciałem zabrać się za programowanie obiektowe... niestety już na początku napotkałem parę problemów i nie umiem ich przeskoczyć :(

Problem 1

Mając taki kod:
class klasa1 { public: class klasa2 { public: int Zmienna; }; klasa1() { // stąd chciałbym zmiennej Zmienna nadać jakąś wartość. // niestety kompilator protestuje :( // może źle się do tej zmiennej odwołuję? // wcześniej próbowałem klasa2::Zmienna = ileś; // error C2597: illegal reference to non-static member 'klasa1::klasa2::Zmienna' // próbowałem też różnych wariacji na temat friend class ale chyba nie w tym rzecz :( } };

Problem 2
class Line { public: Line(int Parametr) // chciałem by konstruktor korzystał z wart. Parametr { ... } }; ... Line *List; List = new Line[NrOfElem]; // Jak tu dopisać, żeby wszystkie elementy dynamicznej tablicy były wywoływane z konstruktorem dla Parametr = X?

Będę wdzięczny za pomoc :)



ad. 1 Stwórz najpierw obiekt klasy, a potem odwołuj się do zmiennych w niej albo zadeklaruj zmienną jako zmienną statyczną.
ad. 2 Jakoś się pewnie da bo mamy przeciążenia i operator "new" też można przeciążać, ale to jak wyciągać armatę żeby zabić muchę. Zrób jakiegoś fora i po kłopocie ;)

Nie jest to dokładnie o co Ci chodzi, ale można zawsze zrobić tak:

Line **List;
List = new *Line[ILES_TAM];
for(int i = 0; i < ILES_TAM; i++) List[i] = new Line(X);

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • zsf.htw.pl
  •