虚拟基类不可以直接声明对象,但是可以声明一个虚..
时间:2009-08-11 来源:asio
//虚拟类的实验
说明,虚拟基类不可以直接声明对象,但是可以声明一个虚拟基类的指针,这样,把这个指针指向派生而出的子类,虚拟基类就能够使用了。
class vir
{
public:
virtual void say() = 0;
};
// 声明派生类
class vir_child : public vir
{
public:
void say()
{
std:: cout << " pai sheng cheng gong !\n ";
}
};
int main(int argc, char** argv) {
vir_child child ;
//注意这里如果直接声明虚拟类的实例的话编译不能通过。
vir *v_m = & child;
v_m->say();
return (EXIT_SUCCESS);
}
说明,虚拟基类不可以直接声明对象,但是可以声明一个虚拟基类的指针,这样,把这个指针指向派生而出的子类,虚拟基类就能够使用了。
class vir
{
public:
virtual void say() = 0;
};
// 声明派生类
class vir_child : public vir
{
public:
void say()
{
std:: cout << " pai sheng cheng gong !\n ";
}
};
int main(int argc, char** argv) {
vir_child child ;
//注意这里如果直接声明虚拟类的实例的话编译不能通过。
vir *v_m = & child;
v_m->say();
return (EXIT_SUCCESS);
}
相关阅读 更多 +