首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi3.clap,其中定义了用于表示学生学号的类CStudcntlD,但类CStudentID的定义并不完整。 运行结果为: 学生的学号为:200805 学生名为:李伟 删除学生学号
使用VC6打开考生文件夹下的源程序文件modi3.clap,其中定义了用于表示学生学号的类CStudcntlD,但类CStudentID的定义并不完整。 运行结果为: 学生的学号为:200805 学生名为:李伟 删除学生学号
admin
2019-06-05
118
问题
使用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全国计算机二级
相关试题推荐
有如下程序:#include<iostream>usingnamespacestd;classTestClass{staticinti;public:TestClass(){i++;
设程序如下:#include<iostream>usingnamespacestd;intmain(){int**p,*q,r=10;q=&r;p=&q;cout<<**p+1<<en
有如下定义:intb[10]={1,2,3,4,5,6,7,8,9,10},*q=b;则数值为8的表达式是()。A)*q+8B)*(q+7)C)*q+=8D)q+7
下列哪种数据模型可以用树形结构来表示实体之间联系()。A)网状模型B)数据模型C)关系模型D)层次模型
C++中通常和一个运算符连用,构成一个运算符函数名的C++关键字为______。
下列程序的输出结果为12.324.6,请将横线处的缺失部分补充完整。#include<iostream>usingnamespacestd;classBase{public:Base(intA):id
若有定义语句“intx=10,y=20z=20;”,则表达式x>z&&y=z的值为______。
负责数据库中查询操作的数据库语言是()。A)数据定义语言B)数据管理语言C)数据操纵语言D)数据控制语言
已知类Myclass的定义如下classMyClass{public:voidfunction1(MyClass&C){cout<<c.data;)staticvoidfunction2(MyClass&C)
软件危机出现于60年代末,为了解决软件危机,人们提出了______的原理来设计软件,这就是软件工程诞生的基础。
随机试题
对足部小肠反射区阳性反应的叙述正确的是()。
Thefoolishgiftdoesn’tknow______buteating.
疮疡内治消法中哪一法最为常用
如图6-9所示,密闭容器,左测压管内为水银,右测压管内为水,测压管上部均为绝对真空,左侧测压管读数为20cm,则右侧测压管读数为()cm。
下列关于排水处理厂联机运行要求的说法,正确的是()。
创造一个故事,将所要记忆的信息编在一起的学习策略属于()。
"Wheredidthetimego?"middle-agedandolderadultsoftenremark.Manyofusfeelthattimepassesmorequicklyasweage,ap
在建筑群布线子系统所采用的铺设方式中,能够对线缆提供最佳保护的方式是()。
一个教师可讲授多门课程,一门课程可由多个教师讲授。则实体教师和课程间的联系是()。
Arepasswordspasse(过时的)?It’sstartingtoseemlikeit.Everybodyhatesthem,andnobodycanrememberalltheonesthey’vecrea
最新回复
(
0
)