温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

多态性与虚函数

发布时间:2020-06-28 05:23:35 来源:网络 阅读:293 作者:悟天克斯66 栏目:编程语言
多态性:向不同的对象发送同一个消息,不同的对象在接受时会产生不同的行为(即方法)

#include <iostream>
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 <iostream>
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;
}


向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI