A-A+

下面程序的运算结果是()。 #include<iostream> using namespa

2022-08-06 06:28:53 问答库 阅读 176 次

问题详情

下面程序的运算结果是()。 #include<iostream> using namespace std; class A { public: virtual void fun()=0; }; class B:public A } public: void fun() {cout<<"new file"<<" ";} }; class C:public A { public: void fun() { cout<<"open file"<<" ";} }; void main() { A a, * p; B b;C c; p=&c; p->fun(); p=&b; }
A.new file open file
B.new file new file
C.编译出错
D.open file new file请帮忙给出正确答案和分析,谢谢!

参考答案

正确答案:C
解析:语句Aa,*p;用抽象类说明了一个对象,这是不允许的。若把其改为A*p;则程序运行结果为D。

考点:程序