首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi3.clap,其中定义了用于表示学生学号的类CStudcntlD,但类CStudentID的定义并不完整。 运行结果为: 学生的学号为:200805 学生名为:李伟 删除学生学号
使用VC6打开考生文件夹下的源程序文件modi3.clap,其中定义了用于表示学生学号的类CStudcntlD,但类CStudentID的定义并不完整。 运行结果为: 学生的学号为:200805 学生名为:李伟 删除学生学号
admin
2019-06-05
95
问题
使用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全国计算机二级
相关试题推荐
下面的函数调用为:fun(x+y,3,min(n-1,y))则fun的实参个数是()。A)3B)4C)5D)6
在下面程序的横线处填上适当的语句,使程序执行后的输出结果为ABCD。#include<iostream>usingnamespacestd;classA{public:A(){cout<<’A’;}
C++中通常和一个运算符连用,构成一个运算符函数名的C++关键字为______。
A、 B、 C、 D、 B对二叉树的访问有3种方式,其中任意的两种可惟一确定一颗二叉树。但无论是前序、后序还是中序遍历二叉树时,其区别在于访问根的先后次序不同,而访问叶结点的顺序完全相同。
A、 B、 C、 D、 A要对线性表进行二分法查找,对线性表有两个要求:第一,要求线性表是按顺序方式存储的;第二,要求线性表中的元素是按照从小到大的顺序排好序。
下列程序的输出结果为012,请根据注释将横线处的缺失部分补充完整。#include<iostream>usingnamespacestd;classTest{public:Test(intA){data=a
若AA为一个类,a为该类的非静态数据成员,在该类的一个成员函数定义中访问a时,其书写格式为()。A)aB)AA.aC)a{}D)AA::a{}
有如下类定义:classB{public:voidfun1(){}private:voidfun2(){}protected:voidfun3(){}};classD:publicB{
要利用C++流实现输入输出的各种格式控制,必须在程序中包含的头文件是()。A)fstreamB)istrearaC)ostreamD)iomanip
在对函数进行原型声明时,下列语法成分中,不需要的是()。A)函数返回类型B)函数参数列表C)函数名D)函数体
随机试题
我们日常生活中使用最频繁的因特网服务是()。
以下关于病毒性肺炎说法错误的是
男性,25岁,近两年来表现有疲乏、食欲差、体重减轻、右下腹疼痛、腹泻、发热。确诊为Crohn病收住院。提供给上述患者的蛋白质中,动物性蛋白应占()。
加强农村环境保护工作的主要措施有()。
保税物流中心不得开展维修业务。
甲上市公司(以下简称“甲公司”)因面临严重财务困难,于2013年进行了重大重组,有关资料如下:资料一:甲公司跟其最大股东A公司签订《资产收购协议》,将甲公司所属全部资产及负债作价2.5亿元出售给A公司,A公司以其将持有的乙有限责任公司(以下简称
幼儿阶段是发展的主要阶段,幼儿合理膳食的标准不包括()。
农业上用射线或药物处理农作物种子,获得新品种的原理是射线或药物()。
ThingstobeTaughtinEverySchoolI.Introduction:Importanceofstudents’abilitytodealwiththerealworld.A.Speaker’so
A、Abilitiestocompletechallengingtasks.B、Abilitiestolearnsubjectmatterknowledge.C、Abilitiestoperformbetterinschoo
最新回复
(
0
)