首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #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
17
问题
有如下程序:
#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://kaotiyun.com/show/RFyp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有如下程序:#includeusingnamespacestd;classMyClass{public:MyClass(){++count;}~MyClass(){--count;}staticintgetCount
有如下程序:#includeusingnamespacestd;classCup{public:Cup(doubleval=5.8):price(val){
已知在一程序中已定义函数doubleMak(intm,doublen);则下列函数中不可在同一程序中重载的是
有如下程序:#include#includeusingnamespacestd;classMyBag{public:MyBag(stringb
有如下程序:#includeusingnamespacestd;intmain(){voidfunction(doubleval);doubleval;function(val);cout
有如下类定义和变量定义:classA{public:A(){data=0;}~A(){}intGetData()const{ret
有如下程序:#includeusingnamespacestd;classGA{public:virtualintf(){return1;}};classGB:publicGA{public:virtuali
若要对Data类中重载的加法运算符成员函数进行声明,下列选项中正确的是()。
下面不属于软件需求分析阶段主要工作的是
下列字符串中,正确的C++标识符是()。
随机试题
商标主管机关将注册商标注销的事由有()
检察文书中的诉讼情况一般包括案由、案件来源和()
OncetherewasayoungInca(印加)boy.Hehadnofamilyexceptforanoldllama(美洲驼).Eachdaytheboyandhisllamawalkedmanymi
射血分数等于
影响局麻药作用的因素不包括
以下关于医疗机构临床用血管理说法错误的是
某男,23岁。面目一身俱黄,色鲜如桔色,纳呆、恶心,脘胀、胁痛、胁下有痞块,小便黄少,大便溏薄,舌红苔黄腻,脉弦数。辨证为
以下关于律师和律师事务所的说法,不正确的是?()
《唐律疏议》规定“一准乎礼”,通过引经决狱、引礼人律的方式,将儒家道德思想贯彻到立法、司法、守法的整个过程中。从法与道德的角度来看,下列说法中错误的是哪一项?()
Youshouldspendabout20minutesonQuestions27-40whicharebasedonReadingPassage3below.AmateurNaturalistsFromthere
最新回复
(
0
)