如何指定继承类的构造函数定义?
问题描述:
我有一个基类(头):如何指定继承类的构造函数定义?
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)
}
如何调用继承类的构造函数在我的派生类?
答
这样的:
DerivedClass::DerivedClass (void) : BaseClass(10)
{ }
注意:如果你不熟悉的语法,寻找出成员初始化列表。
+0
哦,妈妈的枪,我是如此愚蠢。我甚至在cplusplus.com上看过这篇文章,而且一定是直接通过了我。谢谢。链接任何人都感兴趣:http://www.cplusplus.com/doc/tutorial/inheritance/ – Cheetah 2012-03-01 17:27:42
答
这是你想要什么:
DerivedClass(void):BaseClass(10) {
//blah blah blah
}
答
class BaseClass
{
public:
BaseClass(int) {};
} ;
class DerivedClass : public BaseClass
{
public:
DerivedClass(void);
};
DerivedClass::DerivedClass (void)
:BaseClass(10)
{
}
的可能重复[基类和派生类的构造函数调用C++](http://*.com/questions/5764364/base-class-和派生类构造函数调用在c) – Nim 2012-03-01 17:29:48