ďťż

Ładny brzuch

Uczę się ostatnio podstaw programowania obiektowego. Właśnie jestem na etapie konstruktorów i dziedziczenia, i nie mogę zrozumieć jednej kwestii.

Mamy takie kasy:

class Bazowa { private: int x,y; public: Bazowa(int i, int j) : x(i), y(j) {} void podaj(); }; void Bazowa::podaj() { cout << "x= " << x << " y= " < y << endl; } class Pochodzna : public Bazowa { public: Pochodna(int m, int n) : Bazowa(m,n) {} };

W linijce:
Bazowa(int i, int j) : x(i), y(j) {} zapis oznacza, że x ma należeć do zmiennej i, a y do zmiennej j, tak? Czy ten to polecenie po : jest potrzebne? Czy nie mogłoby być tylko Bazowa(int i, int j) ?

Natomiast ta linijka:
Pochodna(int m, int n) : Bazowa(m,n) {} potrzebuje konstruktora bazowego dla zmiennych m i n, tak? A po co jest jeszcze na końcu nawias klamrowy {} ?




W linijce:
Bazowa(int i, int j) : x(i), y(j) {} zapis oznacza, że x ma należeć do zmiennej i, a y do zmiennej j, tak? Czy ten to polecenie po : jest potrzebne? Czy nie mogłoby być tylko Bazowa(int i, int j) ?

argumentami tego konstruktora sa i, j
po wywolaniu tego kontruktora x = i a y = j
czyli zapis tamten oznacza nic innego jak przepisanie zawartosci zmiennej


A po co jest jeszcze na końcu nawias klamrowy {} ?
z tego samego powodu z jakiego stosujesz kropke na koniec zdania
po prostu tak ma byc
Użytkownik fernandez edytował ten post 13 lipiec 2010, 16:26
No i wiem coś więcej ;)
Tylko zastanawia mnie dlaczego ktoś dał taki przykład kasy Pochodna jak te zmienne nie są nigdzie zainicjowane.

wycialem ten fragment z tym konstruktorem pochodnej z mojego postu, poniewaz napisalem bzdure - zwykla slepota :)


Pochodna(int m, int n) : Bazowa(m,n) {} potrzebuje konstruktora bazowego dla zmiennych m i n, tak?
oczywiscie kompilator nie zglosi bledu, bo m,n sa tylko parametrami tego konstruktora (a nie skladowymi klasy)
pokazany rowniez zapis jak mozna wykorzystac konkstruktor z klasy bazowej do utworzenia konstruktora klasy pochodnej (a sposobow jest sporo)
i oczywiscie kazda klasa musi posiadac swoj konstruktor, jesli zmaierzasz tworzyc na podstawie niej obiekt

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