class Parent
{
public:
void geta()
{
cout<<"------------------ Parent geta-------------------"<<endl;
}
virtual void getb()
{
cout<<"------------------Parent virtual getb-------------------"<<endl;
}
};
class child :public Parent
{
public:
void geta()
{
cout<<"------------------ child geta-------------------"<<endl;
}
virtual void getb()
{
cout<<"------------------child virtual getb-------------------"<<endl;
}
void cgeta()
{
cout<<"------------------ child cgeta-------------------"<<endl;
}
};
int _tmain(int argc, _TCHAR* argv[])
{
Parent *p=NULL;
child *pp=NULL;
Parent parent;
child child;
p=&parent;
p->geta();
p->getb();
p=&child;
p->geta();
p->getb();
pp=(child*)(&parent); //报错 子类指针不能指向父类对象
pp->geta();
pp->getb();
pp->cgeta();
基类指针+子类指针问题
最新推荐文章于 2022-02-22 23:08:59 发布
本文探讨了C++中基类指针指向子类对象时的使用和注意事项,包括动态多态性、虚函数的应用、类型转换的安全性等方面,旨在帮助开发者理解这种常见编程模式。
摘要由CSDN通过智能技术生成