Как указать определение конструктора унаследованного класса? - PullRequest
2 голосов
/ 01 марта 2012

У меня есть базовый класс (заголовок):

class BaseClass
{
    public:
        BaseClass(int); // note no default constructor.
}

и класс, который его выводит:

class DerivedClass : public BaseClass
{
    public:
        DerivedClass(void);
}

DerivedClass::DerivedClass (void) // note SPECIFICALLY no parameters.
{
    super (10); // equivalent of what I am trying to do in Java (I think)
}

Как мне вызвать конструктор унаследованного класса в моем производном классе?

Ответы [ 3 ]

1 голос
/ 01 марта 2012
class BaseClass 
{ 
    public: 
        BaseClass(int) {};
} ;
class DerivedClass : public BaseClass 
{ 
    public: 
        DerivedClass(void); 
}; 

DerivedClass::DerivedClass (void)
:BaseClass(10)
{ 

}
1 голос
/ 01 марта 2012

вот так:

DerivedClass::DerivedClass (void) : BaseClass(10) 
{ }

ПРИМЕЧАНИЕ: если вы не знакомы с синтаксисом, обратите внимание на список инициализации членов .

0 голосов
/ 01 марта 2012

Это то, что вы хотите:

DerivedClass(void):BaseClass(10) {
    //blah blah blah
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...