首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
若有以下程序: #include <iostream> using namespace std; class Base { int x; protected: int y; public:
若有以下程序: #include <iostream> using namespace std; class Base { int x; protected: int y; public:
admin
2010-03-29
71
问题
若有以下程序: #include <iostream> using namespace std; class Base { int x; protected: int y; public: int z; void setx(int i) { x=i; } int getx ( ) { return x; } }; class Inherit : private Base { private: int m; public: int p; void setvalue(int a,int b,int c, int d) { setx(a) ; y=b; z=c; m=d; } void display() { cout<<getx ()<<", "<<y<<", "<<z<<", "<<m<<end1; } }; int main() { Inherit A; A.setvalue(1,2,3,4); A.display(); return 0; } 程序运行后的输出结果是( )。
选项
A、1,2,3,4
B、产生语法错误
C、4,3,2,1
D、2,3,4,5
答案
1
解析
本题中,基类Base中的保护成员y和公有成员setx和getx,经过私有继承以后,称为派生类Inherit的私有成员,所以可以在派生类Inherit的函数成员中对它们进行访问。类Inherit中的函数成员setvalue和display都是公有成员,所以可以通过Inherit的对象对它们进行访问。本程序的功能是对类中各数据成员进行赋值,然后查看赋值是否正确。
转载请注明原文地址:https://kaotiyun.com/show/2Tjp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下列叙述中正确的是
以下程序的输出结果是()。voidf(int*q)main(){inti=0;{inta[5]={1,2,3,4,5},i;for(;i<5;i++)(*q)++;}
设intk=0:以下选项的四个表达式中与其他三个表达式的值不相同的是()。
在结构化程序设计中,模块划分的原则是
有以下程序:#include<stdio.h>main(){inti=0,a=0;while(i<20){for(;;){if((i%5)==0)break;elsei-
有以下程序#includemain(){inta[]={10,20,30,40},*p=a,i;for(i=0;i<=3;i++){a[i]=*p;p++;}printf("%d\n",a[2]);}程序运行后的输出结果是
若变量已正确定义为int型,要通过语句scanf("%d,%d,%d"&a,&b,&c);给a赋值1、给b赋值2、给c赋值3,以下输入形式中错误的是(注:口代表一个空格符)
已定义以下函数intfun(int*P){return*P;}fun函数的返回值是()。
在面向对象方法中,不属于“对象”基本特点的是
有C语言表达式2*3+4+15%3,关于其执行顺序,以下叙述正确的是
随机试题
Johnisn’tadiligentstudent,foritisthethirdtimehehasbeenlate,______?
最常见的卵巢恶性肿瘤是()
智齿冠周炎主要发生在A.少年人群B.中年人群C.青年人群D.老年人群E.任何年龄的人群
丙型肝炎的主要传播途径是()
下列合同条款无效的是:
关于防腐蚀涂层施工技术要求的下列说法中,错误的是()。
企业过度使用应付账款来应对现金短缺的结果将导致商业信用减少,从而引发借款需求。()
WhatdoesthemanbuybesidesNewYorkers?
Mealscanbeserved______.WhichofthefollowingstatementsisNOTtrue?
A-----Guardagainstdamp.J-----Openhere.B-----Handlewithcare.K-----Openindarkroom.C-----Keepaway
最新回复
(
0
)