2013-05-16 12 views
18

Rozważmy dwie klasy A i BPrzełęcz parametr do konstruktora klasy bazowej przy tworzeniu pochodnego obiekt klasy

class A 
{ 
public: 
    A(int); 
    ~A(); 
}; 

class B : public A 
{ 
public: 
    B(int); 
    ~B(); 
}; 


int main() 
{ 
    A* aobj; 
    B* bobj = new bobj(5);  
} 

Teraz klasa B dziedziczy A.

Chcę utworzyć obiekt o numerze B. Mam świadomość, że tworzenie obiektu klasy pochodnej wywoła również konstruktor klasy podstawowej, ale jest to domyślny konstruktor bez żadnych parametrów.

Chcę, aby B wziął parametr (powiedzmy 5) i przekaż go konstruktorowi A. Proszę pokazać kod, aby pokazać tę koncepcję.

+1

B :: B (int val): A (val) {} – Andrew

+2

myślałem chcesz dokonać destruktor przyjmują argumenty, nie wygląda literówka do mnie. I nie ma potrzeby od '!!'. Przywrócenie poprzedniego głosowania, uwaga usunięta. –

Odpowiedz

25

Zastosowanie podstawa inicjalizacji:

class B : public A 
{ 
public: 
    B(int a) : A(a) 
    { 
    } 
    ~B(); 
}; 
+0

Dzięki ... dokładnie to, czego szukałem – CodeCrusader

Powiązane problemy