首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi3.clap,其中定义了用于表示学生学号的类CStudcntlD,但类CStudentID的定义并不完整。 运行结果为: 学生的学号为:200805 学生名为:李伟 删除学生学号
使用VC6打开考生文件夹下的源程序文件modi3.clap,其中定义了用于表示学生学号的类CStudcntlD,但类CStudentID的定义并不完整。 运行结果为: 学生的学号为:200805 学生名为:李伟 删除学生学号
admin
2019-06-05
115
问题
使用VC6打开考生文件夹下的源程序文件modi3.clap,其中定义了用于表示学生学号的类CStudcntlD,但类CStudentID的定义并不完整。
运行结果为:
学生的学号为:200805
学生名为:李伟
删除学生学号为:200805
请按要求完成下列操作,将类CStudentlD的定义补充完成:
(1)定义class CStudentlD类的私有数据成员IDvalue表示学生的学号,为long型的数据。请在注释//********1********之后添加适当的语句。
(2)完成默认构造函数CSmdentlD的定义,使CStudentlD对象的默认值为:id=0,并把学生的学号赋给IDvalue,并输出“赋给学生的学号:”及学号。请在注释//********2********之后添加适当的语句。
(3)完成默认析构函数CStudentlD的定义,使CStudentlD析构时输出“删除学号:”及学号。请在注释//********3********之后添加适当的语句。
(4)完成默认构造函数CStudentlnfo的定义。对应两个默认参数:要求定义char stName[],其默认值为“no name”,定义long stID,其默认值设为0,并使它们赋值给相应的类数据成员。请在注释//********4********之后添加适当的语句。
注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。
1 #include<iostream.h>
2 #include<string.h>
3 class CStudentID
4 {
5 //********1********定义私有数据成员
6
7 public:
8 //********2********定义默认构造函数
9
10 {
11 IDvalue=id;
12 cout<<’’学生的学号为:’’<<IDValue<<end1;
13 }
14 //********3********定义析构函数
15
16 {
17 cout<<’’删除学生学号为:’’<<IDvalue<<end1;
18 }
19 };
20 class CStudentInfo
21 {
22 private:
23 CStudentID id;
24 char name[20];
25 public:
26 //********4********定义默认构造函数完成数据成员初始化
27
28 {
29 cout<<’’学生名为:’’<<stName<<end1;
30 strcpy(name,stName);
31 }
32 };
33 void main()
34 {
35 CStudentInfost(’’李伟’’,200805);
36 }
选项
答案
(1)添加语句:long IDvalue; (2)添加语句:CStudentID(lonq id=0) (3)添加语句:~CStudentID() (4)添加语句:CStudentInfo (char stName[]=’’no name’’,longstID=0):id(stID)
解析
程序中定义了两个类CStudentID和CStudentInfo,其中类CStudentID包含学生的学号信息的成员变量,有自定义构造函数和默认析构函数,而类CStudentlnfo不仅包含学生的学号还包括对应的姓名信息的成员变量,还实现了自定义构造函数。
(1)第1个标识下完成CStudentID类的私有数据成员IDvalue的定义,为long型的数据,因此第1个标识下应添加“long IDvalue;”。
(2)构造函数完成类成员变量的初始化,构造函数名和类名一致,该构造函数带有一个参数id,其默认值为id=0,因此第2个标识下应添加“CStudentIPD(long id=0)”。
(3)析构函数也和类名一致,并且在前面加“~”以和构造函数区分,析构函数没有参数,故第3个标识下应添加“~CStudentID()”。
(4)CStudentInfo包含的学生学号信息保存在类CStudentID的实例中,可通过调用类CStudentID的自定义构造函数初始化,第4个标识下应添加“CStudentlnfo(char stName[]=’’no name",long stID=0):id(stID)”。
转载请注明原文地址:https://kaotiyun.com/show/Z18p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下面关于派生类的描述中错误的是()。A)派生类中至少有一个基类B)一个派生类可以作为另一个派生类的基类C)派生类只继承了基类中的公有成员和保护成员D)派生类的缺省继承方式是私有
设程序如下:#include<iostream>usingnamespacestd;intmain(){int**p,*q,r=10;q=&r;p=&q;cout<<**p+1<<en
有如下程序:#include<iostream>usingnamespacestd;classBase{protected:Base(){cout<<’Base’;}Base(char
在下面程序的横线处填上适当的语句,使程序执行后的输出结果为ABCD。#include<iostream>usingnamespacestd;classA{public:A(){cout<<’A’;}
C++中将两个字符串连接起来组成一个字符串的函数是______。
执行下列语句后,变量n的值是______。intn=0;for(inti=1;i<=3;i++)for(intj=1;j<<=i;j++)n++;
若有定义语句“intx=10,y=20z=20;”,则表达式x>z&&y=z的值为______。
已知类Ben中将二元运算符“/”,重载为友元函数,若c1、c2是Ben的两个对象当使用运算符函数进行显式调用时,与表达式c1/c2等价的表示为______。
有如下两个类声明classAA{public:intm;};classBB:protectedAA{intn;};在类BB中,数据成员m的访问属性是_____,数据成员n
若目前D盘根目录下并不存在test.txt文件,则下列打开文件方式不会自动创建test.txt文件的是()。A)ifstreamfin;fin.open("d:\\test.txt",ios_base::in);B)fstream
随机试题
药用部位为干燥块根的药材有
根据《素问·生气通天论》饮食偏嗜伤及五脏的论述,味过于苦则
可导致肾病综合征的疾病不包括
A.思维贫乏B.思维散漫C.思维迟缓D.思维被夺取E.思维被插入病人对医师的问题只能在表面上产生反应,缺乏进一步的联想,该症状为
中央银行的再贴现率的变动成了货币当局给银行界和公众的重要信号,()。
如果要在美国市场上筹集资本,则必须采用一级ADR。( )
甲股份有限公司委托乙证券公司发行普通股,股票面值总额4000万元,发行总额16000万元,发行费按发行总额的2%计算(不考虑其他因素),股票发行净收入全部收到。甲股份有限公司该笔业务记入“资本公积”科目的金额为()万元。
病理性遗忘的种类包括()遗忘。
“零容忍、零界限、零死角”的反腐风暴,导演了一场场“官场现形记”,让贪官闻风丧胆、如坐针毡,甚至“以死谢罪”,反腐倡廉取得了前所未有的成果。然而,在光鲜的“成绩单"背后,公款吃喝从地上转入地下、从餐厅转入食堂,止不住的“食欲”背后是无法满足的“贪欲”。干部
Amtrak—thelargestrailwaycompanyintheU.S.—wasexperiencingadownswinginridership.【B1】______majorconcernstoAmtrakand
最新回复
(
0
)