多态性与虚函数

多态性:向不同的对象发送同一个消息,不同的对象在接受时会产生不同的行为(即方法)

#include 
using namespace std;
class B
{
public:
 void print()
{
cout << "B::print()" << endl;
}
 virtual void show();
};
void B::show()
{
cout << "B::show()" << endl;
}
class D :public B
{
public:
void print()
{
cout << "B::print()" << endl;
}
 void show()
{
cout << "D::show()" << endl;
}
};
class E :public D
{
public:
void show()
{
cout << "E::show()" << endl;
}
};
void fun(B *pb)
{
pb->show();
}
int main()
{
D d;
B b;
E e;
fun(&d);
fun(&b);
fun(&e);
getchar();
return 0;
}
最好把基类的析构函数声明为虚函数
#include 
using namespace std;
class B
{
public:
 B()
{
cout << "B()" << endl;
}
virtual ~B()
{
cout << "~B()" << endl;
}
};
class D :public B
{
public:
D()
{
cout << "D()" << endl;
}
~D()
{
cout << "~D()" << endl;
}
};
int main()
{
//D d;
B *pb = new D;
delete pb;
getchar();
return 0;
}

文章名称:多态性与虚函数
分享路径:http://hxwzsj.com/article/igjphi.html

其他资讯

Copyright © 2025 青羊区翔捷宏鑫字牌设计制作工作室(个体工商户) All Rights Reserved 蜀ICP备2025123194号-14
友情链接: 网站建设 手机网站制作设计 成都网站建设 成都网站建设 网站建设公司 成都品牌网站设计 成都网站设计 成都网站建设 网站制作报价 外贸营销网站建设 专业网站设计 网站建设方案 成都网站建设推广 移动手机网站制作 攀枝花网站设计 成都网站建设 成都营销网站建设 重庆外贸网站建设 成都品牌网站建设 成都商城网站制作 app网站建设 成都网站建设公司