2013-05-16 15 views
18

Consideriamo due classi A e BPasso Parametro di Base Class Constructor durante la creazione Derivato classe Object

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

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


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

Ora la classe B eredita A.

Voglio creare un oggetto di B. Sono consapevole che la creazione di un oggetto classe derivato, invocherà anche il costruttore della classe base, ma questo è il costruttore predefinito senza parametri.

Quello che voglio è che B per prendere un parametro (ad esempio 5) e passarlo al costruttore di A. Si prega di mostrare qualche codice per dimostrare questo concetto.

+1

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

+2

ho pensato si vuole fare il distruttore prendere argomenti, non sembrava un errore di battitura per me. E non c'è bisogno di '!!'. Votazione annullata, osservazione cancellata. –

risposta

25

Usa inizializzazione di base:

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

Grazie ... esattamente quello che stavo cercando – CodeCrusader

Problemi correlati