首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include using namespace std; class A { public: virtual void func1() { cout
有如下程序: #include using namespace std; class A { public: virtual void func1() { cout
admin
2021-05-06
79
问题
有如下程序:
#include
using namespace std;
class A {
public:
virtual void func1() { cout<<"A1"; }
void func2() { cout<<"A2"; }
};
class B:public A {
public:
void func1() { cout<<"B1"; }
void func2() { cout<<"B2"; }
};
int main() {
A *p=new B;
p->func1();
p->func2();
delete p;
return 0;
}
执行这个程序的输出结果是( )。
选项
A、B1B2
B、A1A2
C、B1A2
D、A1B2
答案
C
解析
本题考查虚函数。虚函数指在基类中声明为virtual并在一个或多个派生类中被重新定义的成员函数。题中定义了一个派生类对象B,并使用类A的对象指针指向B,由于基类A中的func1为虚函数,所以会执行派生类的func1,输出B1,而基类中的func2不是虚函数,所以p->func2()会执行基类的func2,输出A2。故答案为C。
转载请注明原文地址:https://www.kaotiyun.com/show/pLfp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
将运算符“+”重载为非成员函数,下列原型声明中,错误的是()。
下列语句中,错误的是()。
有如下程序:#inc1ude<iostream>usingnamespacestd;classXA{inta;public:staticintb;XA(intaa):a
在数据库设计中,将E-R图转换成关系数据模型的过程属于()。
在面向对象方法中,不属于“对象”基本特点的是
下面不属于软件设计阶段任务的是()。
在类中重载赋值运算符时,应将其声明为类的()。
如果表达式a>=b中的’’>="是作为非成员函数重载的运算符,则可以等效地表示为()。
下列选项中,不是C++关键字的是
一棵二叉树中共有80个叶子结点与70个度为1的结点,则该二叉树中的总结点数为()。
随机试题
患者,男,32岁,反复咳嗽咳痰多年,加重三个月,伴咯血10天,CT示左下肺串珠状软组织结节影,可见一小液平,诊断为
刘某在一家饭店喝醉后.与服务员发生争执并将饭店的冰箱砸坏。民警接警后到达现场,将仍在打砸的刘某控制住。下列处置措施恰当的是:
女性,35岁,哮喘急性发作时体检发现过度充气体征,与肺气肿十分相似,此时最好的鉴别方法是
对医德良心的作用的错误提法是
突出屋面结构与基层转角处的找平层应做成圆弧形,其圆弧形半径要求最大的是:[2010年第39题]
在Word的编辑状态,被编辑文档中的文字有“四号”、“五号”、“16”磅、“18”磅四种,下列关于所设定字号大小的比较中,正确的是()。
国际上出现的具有代表性的企业技术创新过程模型有()。
下列属于绩效管理系统的组成要素的是()。
当代微型机中所采用的电子元器件是___________。
Youshouldkeepalow______beforethistroublepasses.
最新回复
(
0
)