1.构造函数不能是纯虚函数,或者使用默认的构造函数
-
class person {
-
public:
-
virtual void get_name()=0;
-
virtual person();//构造函数是纯虚函数
-
};
2.析构函数必须有实现,
或者使用默认的析构函数
The solution is to ensure that all virtual methods that are not pure are defined. Note that a destructor must be defined even if it is declared pure-virtual
-
class person {
-
public:
-
virtual void get_name()=0;
-
virtual ~person();//XX
-
};
3.纯虚函数里面必须全部是纯虚函数
-
class person {
-
public:
-
virtual void get_name()=0;
-
virtual void get_age();//XX
-
};
4. =0与空实现
-
class person {
-
public:
-
virtual void get_name()=0;//声明一个接口,继承person的类必须实行该接口
-
virtual void get_age() { };//默认实现方法,继承person的类不必实行该接口,也可以实现覆盖这个接口
-
};
4.
阅读(805) | 评论(0) | 转发(0) |