C++基类与派生类

一、构造

构造函数不能为虚函数

派生类要先调用基类的构造函数,而不能直接覆盖基类的构造函数。

所以在派生类不能再成员初始化列表中初始化基类的成员


见如下例子:

class Base
 {
 public:
 	Base(double dNum)
 		: nBase(1)
 		, dBase(dNum)
 	{
 	
 	}
 	int ShowNum(){return nBase;}
 protected:
 	int		nBase;
 	double	dBase;
 private:
 };
 
 
 class Derived : public Base
 {
 
 public:
 	Derived(double dNum)
 		: Base(dNum)
 		, nBase(3)
 	{
 		nBase = 2;
 	}
 protected:
 private:
 };

会在,nBase(3)处报错 error C2614: “Derived”: 非法的成员初始化:“nBase”不是基或成员



二、待续......

你可能感兴趣的:(C++基类与派生类)