首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi3.cpp,其中定义了用于表示学生学号的类CStudentID,但类CStudentID的定义并不完整。 运行结果为: 学生的学号为:200805 学生名为:李伟 删除学生学号为:200805
使用VC6打开考生文件夹下的源程序文件modi3.cpp,其中定义了用于表示学生学号的类CStudentID,但类CStudentID的定义并不完整。 运行结果为: 学生的学号为:200805 学生名为:李伟 删除学生学号为:200805
admin
2017-11-27
62
问题
使用VC6打开考生文件夹下的源程序文件modi3.cpp,其中定义了用于表示学生学号的类CStudentID,但类CStudentID的定义并不完整。
运行结果为:
学生的学号为:200805
学生名为:李伟
删除学生学号为:200805
请按要求完成下列操作,将类CStudentID的定义补充完成:
(1)定义class CStudentID类的私有数据成员IDvalue表示学生的学号,为long型的数据。请在注释//********1********之后添加适当的语句。
(2)完成默认构造函数CStudentID的定义,使CStudentID对象的默认值为:id=0,并把学生的学号赋给IDvalue,并输出“赋给学生的学号:”及学号。请在注释//********2********之后添加适当的语句。
(3)完成默认析构函数CStudentID的定义,使CStudentID析构时输出“删除学号:”及学号。请在注释//********3********之后添加适当的语句。
(4)完成默认构造函数CStudentlnfo的定义。对应两个默认参数:要求定义char stName[],其默认值为“no name”,定义long stID,其默认值设为0,并使它们赋值给相应的类数据成员。请在注释//********4********之后添加适当的语句。
注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。
#include
#include
class CStudentID
{
//********1********定义私有
数据成员
public:
//********2********定义默认
构造函数
{
IDvalue=id;
cout<<"学生的学号为:
"<
}
//********3********定义析构函数
{
cout<<"删除学生学号为:
"<
}
};
class CStudentInfo
{
private:
CStudentID id;
char name[20];
public:
//********4********定义默认
构造函数完成数据成员初始化
{
cout<<"学生名为:"<
<
strcpy(name,stName);
}
};
void main()
{
CStudentInfo st("李伟",200805);
}
选项
答案
(1)添加语句:long IDvalue; (2)添加语句:CStudentID(long id=0) (3)添加语句:~CStudentID() (4)添加语句:CStudentInfo (char stName[]= "no name",long stID=0):id(StID)
解析
(1)第1个标识下完成CStudentlD类的私有数据成员IDvalue的定义,为long型的数据,因此第1个标识下应添加“long IDvalue;”。
(2)构造函数完成类成员变量的初始化,构造函数名和类名一致,该构造函数带有一个参数id,其默认值为id=0,因此第2个标识下应添加“CStudentID(long id=0)”。
(3)析构函数也和类名一致,并且在前面加“~”以和构造函数区分,析构函数没有参数,故第3个标识下应添加“~CStudentID()”。
(4)CStudentInfo包含的学生学号信息保存在类CStudentID的实例中,可通过调用类CStudentID的自定义构造函数初始化,第4个标识下应添加“CStudentInfo (char stName[]="no name",longstID=0):id(stID)”。
转载请注明原文地址:https://kaotiyun.com/show/aJAp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
在程序设计阶段应该采取________和逐步求精的方法,把一个模块的功能逐步分解,细化为一系列具体的步骤,进而用某种程序设计语言写成程序。
在一个成员函数内调用一个虚函数时,对该虚函数的调用进行______联编。
有如下程序:#include<iostream>#include<iosream>usingnamespacestd;classBASE{charc;public;BASE(charn):c(n){
下列对派生类的描述中,()是错误的
若执行下面程序段后的输出为:345,请填空。inta,b=3,c=5;a=b<c?【 】:c++;cout<<a<<b<<c;
在顺序存储结构中进行插入和删除操作比在链表中进行插入和【 】操作的效率低。
以下程序的输出结果是intf(){ static int i= 0; int s=1; s+=i; i++; return s;}main( ){ inti, a=0; for(i=0;i<5;i++)a+=f();
以下有关析构函数的叙述不正确的是
在下面函数的横线处填上适当的内容,使该函数能够利用递归方法求解字符串str的长度(不得使用系统提供的字符串处理函数)。intGetLen(char*str){if(______)return______;e
( )是以一种完全通用的方法来设计函数或类而不必预先说明将被使用的每个对象的类型。
随机试题
简述隔膜式压力表的测量范围。
用下列何种方法检测HCG可免除黄体生成素的干扰
治疗量的阿托品能引起的作用是()
颈部淋巴结肿大,疑为癌肿转移时,应首先考虑的是
有限的器官供体与大量需要移植器官的患者之间存在供不应求的矛盾。因此,对有限器官供体的分配存在着尖锐的伦理问题尽管争论激烈,但在下列争论的问题中有一点是绝大多数国家明确反对的
明安图
tertiaryindustry
A、 B、 C、 C
Ithasbeensaidthateveryonelivesbysellingsomething.Inthelightofthisstatement,teacherslivebyselling【C1】kno______
TwomostimpolitedriesinEuropeturnedouttobeMoscowandWarsaw.Mumbai,India,rankedastheleastcourteouscityamongt
最新回复
(
0
)