首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include using namespace std; class A { public: virtual void func1() { cout
有如下程序: #include using namespace std; class A { public: virtual void func1() { cout
admin
2015-07-22
78
问题
有如下程序:
#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/drNp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下列描述中错误的是()。
以下哪个特征不是面向对象思想中的主要特征?
语句int*i;i=newint[10];,释放指针i的语句是【】。
下列描述中错误的是
软件危机出现于60年代末,为了解决软件危机,入们提出了【】的原理来设计软件,这就是软件工程诞生的基础。
C++语言中关键字运算符有new,delete和【】。
耦合和内聚是评价模块独立性的两个主要标准,其中【】反映了模块内各成分之间的联系。
为了使类中的某个成员不能被类的对象通过成员操作符访问,则不能把该成员的访问权限定义为
函数sstrcmp()的功能是对两个字符串进行比较。当s所指字符串和t所指字符串相等时,返回值为0:当s所指字符串大于t所指字符串时,返回值大于0;当s所指字符串大于t所指字符串时,返回值大于0(功能等同于strcmp())。请填空。intSs
以下哪个不是C++语言中的有效标识符()。
随机试题
下述血栓中,哪种是白色血栓?
小于6个月的婴儿,诊断为先天性髋脱位,治疗实施( )大于6岁患儿,髋臼指数大于45°,诊断为先天性髋脱位,治疗实施( )
A、沙眼衣原体B、斑疹伤寒立克次体C、伯氏疏螺旋体D、肺炎衣原体E、肺炎支原体严格细胞内寄生、经呼吸道传播的是
畜禽粪便消毒的常用方法是
男,56岁,因上消化道出血,由120送来急诊室。急诊室抢救病人需记录的时间是
()是对银行业金融机构信贷流程的基本要求,是建立有效的岗位制衡机制的重要内容。
根据《个人独资企业法》的规定,下列各项中,可以用作个人独资企业名称的有()。
【2014安徽】对语法规则、公式符号、法律条文等知识的记忆属于()。
不属于永恒主义教育的观点的是()
A、Itcanbecontrolledremotely.B、Ittakesmuchroomofacar.C、Ithassomemeritsanddrawbacks.D、Itisratherexpensive.A
最新回复
(
0
)