首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
用VC++6.0打开考生文件夹下的源程序文件3.cpp,这个工程完成输出到屏幕一些特定的信息,但工程有错误或者不完整,请完成以下功能: (1)初始化Num2的值为j,请在注释1后添加适当的语句。 (2)补充全局函数fun使之能够调用类TC的
用VC++6.0打开考生文件夹下的源程序文件3.cpp,这个工程完成输出到屏幕一些特定的信息,但工程有错误或者不完整,请完成以下功能: (1)初始化Num2的值为j,请在注释1后添加适当的语句。 (2)补充全局函数fun使之能够调用类TC的
admin
2021-09-05
51
问题
用VC++6.0打开考生文件夹下的源程序文件3.cpp,这个工程完成输出到屏幕一些特定的信息,但工程有错误或者不完整,请完成以下功能:
(1)初始化Num2的值为j,请在注释1后添加适当的语句。
(2)补充全局函数fun使之能够调用类TC的成员变量,请在注释2后添加适当的语句。
(3)初始化静态变量,请在注释3后添加适当的语句。
(4)修改注释4后的语句。使得程序输出以下内容:
Num1=7
Num2=12
Num3=-7
Num1=6
Num2=9
Num3=-17
注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。
试题程序:
#include
class TC
{
public:
//********1********
TC(int i,int j)
{
Num1=i:
Num3-=i:
}
void Print()
{
cout<<"Num1="<
cout<<"Nurn2="<
cout<<"Num3="<
}
void Add(int i)
{
Num3-=i:
}
private:
int Num1:
const int Num2;
static int Num3;
//********1********
};
//********1********
void fun()
{
TC obj(5,9);
obj.Num1=-6;
//********1********
obj.Add();
obj.Print();
}
void main()
{
TC obj(7,12);
obj.Print();
fun();
return;
}
选项
答案
(1)“TC(int i,int j)”应改为“TC(int i,int j):Num2(j)”。 (2)应添加“friend void fun();”。 (3)应添加“int TC::Num3=0;”。 (4)“obj.Add();”应改为“obj.Add(5);”。
解析
本题考查了构造函数初始化列表、声明友元函数、初始化静态成员变量。第1处应该添加初始化Num2成员的语句,由于该成员为常成员,所以只能通过初始化列表初始化。第2处应添加将fun函数声明为TC类友元的语句。静态成员变量需要在类外初始化,就像定义类的成员函数一样。可以将静态成员变量看成全局变量。Add函数需要一个int型参数,从Add函数的定义来看,它将增加形参i的值。由于main函数中先调用了一次Print成员函数,已经输出了3行数据,然后再调用fun函数的,所以fun函数中调用Print是输出后3行数据。Num3在第1次输出时值为10,fun函数中创建obj对象时,又让其增加1,而希望它最终的值是16,所以不难得知,Add()中应传入5才能达到目的。
转载请注明原文地址:https://kaotiyun.com/show/0b5p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有如下程序:#include<iostream>usingnamespacestd;classAA{intn;public:AA(intk):n(k){}intget(){returnn;}intget()const{ret
下列选项中属于面向对象设计方法主要特征的是()。
有如下程序:#includeusingnamespacestd;classAA{intk;protected:intn;voidsetK(intk){this->k=k;}
下列叙述中,正确的是()。
将以下程序写成三目运算表达式是()。if(x<y)min=x;elserain=y;
下列有关类继承的叙述中,错误的是()。
在表达式x+y*z中,+是作为成员函数重载的运算符,*是作为非成员函数重载的运算符。下列叙述中正确的是()。
运算符重载时不需要保持的性质是()。
若MyTemp是一个只有一个虚拟类型参数的类模板,且有如下语句序列MyTemp<double>p2;MyTemp<long>p3[2];编译系统在处理上面的语句序列时,所生成的模板MyTemp的实例的个数是()。
下列对于软件测试的描述中正确的是()。
随机试题
刀具的后角越大,切削刃越锋利。()
患儿,女,1岁,因“发热、咳嗽、流涕2天,喉鸣6小时”入院。查体:T39℃,吸气性喘鸣及三凹征,咽部充血,双肺呼吸音稍粗,心率130次/min,偶有期前收缩。假设:胸片未见异常。心电图窦性心律不齐,偶有室性期前收缩,T波,ST-T无改变。血常规:H
降低输血过敏反应发生率的措施是
卫生法所调整的法律关系是
室内给水管路安装时,当冷、热水支管上、下平行敷设时,其相互间的位置应为()。
甲公司委托乙证券公司以代销方式公开发行股票6000万股,代销期限届满,投资者认购甲公司股票的数量为4000万股。根据证券法律制度的规定,下列表述中,正确的有()。(2015年)
第二业务组的各位员工已经收到了上个月的工资,现有如下情况:王萌比董洁工资低,吴磊比张丽工资低,赵雪比吴磊工资高,王萌和赵雪工资一样。如果以上陈述为真,则以下哪项也一定为真?()
考查口语交际水平的基本项目不包括()。
牙周炎造成牙齿松动的主要原因是()。
Americanmenaremorelikelythanwomentosmokecigarettesanddrink______.
最新回复
(
0
)