C++类继承

[复制链接]
查看11 | 回复1 | 2010-6-2 13:24:43 | 显示全部楼层 |阅读模式
#include
using namespace std;
class X1
{
public:
int x;
X1(int xx){x=xx;}
virtual void Output(){//1.加virtual 有什么用,有什么影响
cout<<"x="<<x<<endl;
}
};
class Y1:public X1
{
int y;
public:
Y1(int xx,int yy):X1(xx){y=yy;}//2.为什么不能Y1(int xx,int yy){x=xx;y=yy;}
virtual void Output(){//3.加virtual 有什么用,有什么影响
X1::Output();
cout<<"y="<<y<<endl;
}
};
void show(X1 *p){(*p).Output();}
void show1(Y1 *p){(*p).Output();}
void main()
{
X1 a(10);
Y1 b(10,20);
show(&a);
show1(&b);
}

回复

使用道具 举报

千问 | 2010-6-2 13:24:43 | 显示全部楼层
1.加virtual是表明此函数为一虚函数,其意义是表明:希望子类对此方法自行进行定义。virtual的目的就是为了多态。2.怎么不可以?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行