自学C++程序设计虚函数抽象问题的解决方法。
看看/view/161302.htm,里面有更详细的描述。
这通常在使用指针时生效。
例如
# include & ltiostream.h & gt
A级
{
公共:
void print me(){ cout & lt;& lt"这是A级印刷. "& lt& ltendl};
};
B类:公共A
{
公共:
void print me(){ cout & lt;& lt"这是B级印刷. "& lt& ltendl}
};
C类:公共B类
{
公共:
void print me(){ cout & lt;& lt“这是C类印刷。”& lt& ltendl}
};
无效打印(A *a)
{
a-& gt;print me();
}
void main()
{
B b
C c
b * p 1 = & amp;b;
p2 = & ampc;
打印(p 1);
打印(p2);
}
如果删除了父类的虚函数关键字,输出都是a。
如果你加上关键词,
# include & ltiostream.h & gt
A级
{
公共:
虚拟void print me(){ cout & lt;& lt"这是A级印刷. "& lt& ltendl};
};
B类:公共A
{
公共:
void print me(){ cout & lt;& lt"这是B级印刷. "& lt& ltendl}
};
C类:公共B类
{
公共:
void print me(){ cout & lt;& lt“这是C类印刷。”& lt& ltendl}
};
无效打印(A *a)
{
a-& gt;print me();
}
void main()
{
B b
C c
b * p 1 = & amp;b;
p2 = & ampc;
打印(p 1);
打印(p2);
}
然后输出b和c。