自学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。