标题:[求助]多太性问题
取消只看楼主
xbw0114
Rank: 1
等 级:新手上路
帖 子:141
专家分:0
注 册:2007-8-8
 问题点数:0 回复次数:1 
[求助]多太性问题
#include <iostream.h>
class A
{
public :
void f()
{
cout<<"a.f"<<endl;
}
};
class B: public A
{
public :
virtual void f(){}
};
class C: public B
{
public :
virtual void f()
{
cout<<"C"<<endl;
}
};
void show (A*x)
{
x->f();
}
void main ()
{
A*a=new A;
show(a);
A*b=new B;
show (b);
A*c=new C;
show (c);
}
新手,帮忙解释下该程序哦~
搜索更多相关主题的帖子: 性问题 void public show class 
2007-09-18 21:45
xbw0114
Rank: 1
等 级:新手上路
帖 子:141
专家分:0
注 册:2007-8-8
得分:0 
以下是引用reedleaf在2007-9-18 22:54:47的发言:

因为
class A
{
public :
void f()
{
cout<<"a.f"<<endl;
}
};
中f()不是虚函数//问个小白的问题哦,为什么基类不是虚构函数就不能实现多态呀?
所以不能实现多态
结果是
a.f
a.f
a.f

[此贴子已经被作者于2007-9-19 7:49:30编辑过]


勤奋造就未来
2007-09-19 07:49



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-171036-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.382377 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved