首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整,使得程序输出21到屏幕。完成以下功能: (1)增加静态私有变量m_Number,类型为int,请在注释//********1**
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整,使得程序输出21到屏幕。完成以下功能: (1)增加静态私有变量m_Number,类型为int,请在注释//********1**
admin
2019-06-05
77
问题
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整,使得程序输出21到屏幕。完成以下功能:
(1)增加静态私有变量m_Number,类型为int,请在注释//********1********后添加适当的语句。
(2)增加静态变量m_Number并初始化为10,请在注释//********2********后添加适当的语句。
(3)完成静态函数get的定义,请在注释//********3********后添加适当的语句。
(4)完成对象obj对静态函数get的调用,使得输出21到屏幕上,请在注释//********4********后添加适当的语句。
注意:增加代码,或者修改代码的位置已经用符号表示出来。请不要修改其他的程序代码。
1 #include<iostream.h>
2 class TestClass
3 {
4 //********1********
5
6 int m_Other;
7 public:
8 TestClass(int i)
9 {
10 m_Other=i;
11 }
12 //********3********
13
14 {
15 return m_Number+obj->m_Other;
16 }
17 };
18 //********2********
19
20 int main()
21 {
22 TestClass obj(11);
23 //********4********
24 cout<<<<end1;
25 return 0;
26 }
选项
答案
(1)添加语句:static int m Number; (2)添加语句:int TestClass::m_Number=10; (3)添加语句:static int get(TestClass*obj) (4)将“cout<<<<end1;”补充完整为:cout<<obj.get(&obj)<<end1;
解析
本题中程序的功能是利用get函数计算对象成员数值的和。在VC环境下打开程序,根据题干给出的几条功能要求,对程序中给出注释下的内容逐个补全或修改。从已定源程序的main主函数开始入手,可以看出程序通过调用类TestClass和get()成员函数实现各种输出操作。
(1)题目1要求“增加静态私有变量m_Number,类型为int,”。静态变量的定义格式为:static类型变量名称,本题只要在类的private区域定义int型的静态变量m_Number,即第1个标识下添加“static int m_Number;”。
(2)题目2要求“增加静态变量m_Number并初始化为10”。第2个标识的位置在类TestClass的外部,在C++中,使用“::”作用域运算符声明定义的变量属于哪个类。由题干知道,m_Number属于类TestClass,根据C++的作用域运算符,在第2个标识下添加“int TestClass::m_Number=10:”。
(3)题目3要求“完成静态函数get的定义”。根据第三个标识下的“return m_Number+obj->m_Other;”语句知道,get函数具有形参obj指针。obj调用m_Other变量,说明它是TestClass类型,并且静态函数的定义只要在其前面声明static就可以了,即第3个标识下添加“static int get(TestClass*obj)”。
(4)题目4要求“完成对象obj对静态函数.鳓的调用,使得输出21到屏幕上”。程序中第4个标识下的“cout<<end1;”语句缺少输出值,题目中要求对象对静态函数get的调用,对象对成员函数的调用格式为:对象名.成员函数,即“cout<<obj.get(&@,bj)<<end1;”。
转载请注明原文地址:https://kaotiyun.com/show/g18p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
假定TestClass为一个类,则该类的拷贝构造函数的声明语句为()。A)TestClass(TestClassx)B)TestClass&(TestClassx)C)TestClass(TestClass*x)D)TestC
设程序如下:#include<iostream>usingnamespacestd;intmain(){int**p,*q,r=10;q=&r;p=&q;cout<<**p+1<<en
A、 B、 C、 D、 C白盒测试方法也称为结构测试或逻辑测试,主要方法有逻辑覆盖测试、基本路径测试等。
下列程序的输出结果为-5/8-3/4,请将横线处的缺失部分补充完整。#include<iostream>usingnamespacestd;classFraction{//"分数"类public:Fractio
请在横线处填写派生类Derived的继承方式,使得程序的输出结果为Base。#include<iostream>usingnamespacestd;classBase{public:voidprint(){c
若有定义语句“intx=10,y=20z=20;”,则表达式x>z&&y=z的值为______。
Windows环境下,由C++源程序文件编译而成的目标文件的扩展名是()。A)cppB)exeC)objD)lik
当派生类从一个基类保护继承时,基类中的一些成员在派生类中成为保护成员,这些成员在基类中原有的访问属性是()。A)任何B)公有或保护C)保护或私有D)私有
在C++语言中,打开一个文件就是将这个文件与一个什么建立关联?
随机试题
用要素饮食检查氮的排出量需收集
砂仁具有的功效是()
混凝土试件尺寸公差不得超过()。
对组装好的散热器组应进行水压试验,试验压力为工作压力加( )。
“先授信,后用信”是个人抵押授信贷款的特点之一。
()是指贷款人根据借款人的提款申请和支付委托,将贷款资金交付给符合合同约定用途的借款人交易对象。
关于国内生产总值的说法,正确的是()。
已采用公允价值模式计量的投资性房地产,不得从公允价值计量模式转为成本计量模式。()
TheprofessortalkedtoAmericanandBrazilianstudentsaboutlatenessinbothaninformalandaformalsituation:lunchwitha
有如下程序:#nclude<iostream>usingnamespacestd;classBase{public:voidfun1(){cout<<"Base\n";}virtualvoidfun2(){cout<<"
最新回复
(
0
)