首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include using namespace std; class A { public: virtual void func1() { cout
有如下程序: #include using namespace std; class A { public: virtual void func1() { cout
admin
2020-07-23
24
问题
有如下程序:
#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/RFyp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有如下类定义:classXX{intxdata;public:XX(intn=0):xdata(n){}};classYY:p
下列关于栈的叙述正确的是( )。
有如下程序:#includeusingnamespacestd;classA{public:A(){cout
有如下类定义:classMyBase{intk;public:MyBase(intn=0):k(n){}intvalue()const{returnk;}};classMyDerived:MyBase{intj;
下列字符串中,不可以用做C++标识符的是()。
下列有关虚函数的表述中正确的是
运算符重载是对已有的运算符赋予多重含义,因此()。
按照标识符的要求,下列选项中,()符号不能组成标识符。
下列字符串中,正确的C++标识符是()。
数据库技术的根本目标是()。
随机试题
大肠湿热证的主要症状有()(1992年第134题)
新时期文学的小说潮流有()
Thoughsomepeoplehavesuggestedthatwomenshouldreturntohouseworkinordertoleave【C1】______jobsformen,theideahasbe
A、支托移位形成支点B、基托边缘过长或过锐C、基托过厚过大D、卡环臂进入基牙倒凹区过深E、咬合过高,基牙负担过重义齿撬动或摆动的原因是
评价指标的设立应遵循的原则有()。
()是假定没有内部控制的情况下,会计报表某项认定产生重大错报的可能性。
根据《证券法》规定,向不特定对象发行的证券票面总值超过人民币()的,应当由承销团承销。
“在歌曲《玫瑰三愿》教学中,刘老师带领学生在聆听的基础上,哼唱主题,分析歌曲的歌词、旋律、伴奏等特征。”这一句话主要体现了哪个模块的教学内容?()
学校文化主要是指教育与学习的文化。()
TheConstructionEducationCentrehasexistedfor______.【16】
最新回复
(
0
)