C++程序设计-2023秋学习通超星期末考试答案章节答案2024年_第1页
C++程序设计-2023秋学习通超星期末考试答案章节答案2024年_第2页
C++程序设计-2023秋学习通超星期末考试答案章节答案2024年_第3页
免费预览已结束,剩余3页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

C++程序设计-2023秋学习通超星期末考试章节答案2024年20.[其它]编写程序(答题时需要上传代码及运行结果的清晰屏幕截图):定义一个学生(Student)类,有私有数据成员学号(number)、生日(date),学号为int类型,生日为TDate类型(自定义类型)的对象。Student类有相应的成员函数SetNumber()函数和ShowNumber()函数,定义Student类的构造函数和析构函数,需在Student类的构造函数中对内嵌对象date进行初始化。在main函数中声明一个Student类的对象s1,并使用该对象调用该类的SetNumber()函数和ShowNumber()函数。

答案:#includeusingnamespacestd;classTDate{public:

TDate(inty=0,intm=0,intd=0);//构造函数

~TDate();

//析构函数

voidSetDate(inty,intm,intd);private:

intyear,month,day;};TDate::TDate(inty,intm,intd)//构造函数{

year=y;

month=m;

day=d;

cout<<"TDateConstructorcalled."<19.[其它]编写程序(答题时需要上传代码及运行结果的清晰屏幕截图):定义一个老虎(Tiger)类,有私有数据成员年龄(age)、体重(weight),这两个数据成为为int类型,相应的成员函数SetAge()、ShowAge()、SetWeight()、ShowWeight(),定义构造函数和析构函数。在main函数中声明指向Tiger类的一个指针p,指向用new创建的一个Tiger类对象,使用p调用SetAge()函数和ShowAge()函数,然后使用delete删除此对象;并写出构造函数和析构函数的调用顺序。

答案:#includeusingnamespacestd;classTiger{public:

Tiger();//构造函数

~Tiger();

//析构函数

voidSetAge(intw);

voidSetWeight(intw);

voidShowAge(){cout<<"该老虎的年龄是"<SetAge(3);

p->ShowAge();

deletep;}18.[其它]编写程序(答题时需要上传代码及运行结果的清晰屏幕截图):定义一个日期(TDate)类,有私有数据成员年(year)、月(month)、日(day),这三个数据成为为int类型,相应的成员函数SetDate()、ShowDate(),定义构造函数和析构函数。在main函数中声明一个TDate类的对象date1,并使用该对象调用该类的SetDate()函数和ShowDate()函数。

答案:#includeusingnamespacestd;classTDate{public:

TDate(inty=0,intm=0,intd=0);//构造函数

~TDate();

//析构函数

voidSetDate(inty,intm,intd);

voidShowDate();private:

intyear,month,day;};TDate::TDate(inty,intm,intd)//构造函数{

year=y;

month=m;

day=d;

cout<<"Constructorcalled."<在用class定义一个类时,数据成员和成员函数的默认访问权限是

答案:私有若要定义类的静态成员函数,则必须把________关键字放到函数原型的前面。

答案:static设在程序中使用如下语句申请了一个对象数组:Point

*ptr

=

new

Point[2];则在需要释放ptr指向的动态数组对象时,所使用的语句是__________________。

答案:delete[]ptr;开发一个C++语言程序的步骤通常包括编辑、

、连接、运行调试。

答案:编译下列有关类成员的叙述中,不正确的是()

答案:指定为public的成员不允许在类外访问面向对象程序设计中的数据隐藏指的是

答案:对象内部数据结构的不可访问性如没有使用private关键字定义类的数据成员,则默认为()

答案:private下面关于类和对象的描述中,错误的是()。

答案:类就是C语言中的结构体类型,对象就是C语言中的结构体变量下列选项正确的是(

答案:constchar*s=”abc”;下列指针用法中错误的是(

答案:inti;int*ptr;i=*ptr;下列关于delete运算符描述中,错误的是(

答案:对一个指针可以使用多次该运算符下面对构造函数的不正确描述是(

答案:构造函数可以有参数,所以可以有返回值要求通过函数来实现一种不太复杂的功能,并且要求加快执行速度,选用()

答案:内联函数类a的析构函数的正确形式为()

答案:a::~a();在类定义的外部,可以被访问的成员有()

答案:public的类成员在下面的C++函数声明中,正确的是()

答案:voidfun(intw,intx=2,inty=3,intz=4);19.[其它]编写程序(答题时需要上传代码及运行结果的清晰屏幕截图):定义一个点(Point)类,有私有数据成员x、y,这两个数据成员为int类型。有相应的成员函数GetX()、GetY(),作用是分别返回x、y的值。有常成员函数Print(),用于在屏幕上输出x、y的值,定义构造函数。定义友元函数dist(Point&p1,Point&p2),在该函数中直接访问对象的私有成员,计算p1和p2之间的距离。在main函数中声明一个Point类的常对象myp1,用myp1调用常成员函数。再声明Point类的对象myp2和myp3,将这两个对象作为参数调用dist函数。

答案:#includeusingnamespacestd;classPoint{public:

Point(intxx=0,intyy=0){x=xx;y=yy;}

intGetX(){returnx;}

intGetY(){returny;}

voidPrint()const{cout<18.[其它]编写程序(答题时需要上传代码及运行结果的清晰屏幕截图):定义一个日期(TDate)类,有私有数据成员年(year)、月(month)、日(day),这三个数据成为为int类型,相应的成员函数SetDate()、ShowDate(),定义构造函数和析构函数,构造函数带参数和默认值。在main函数中声明一个TDate类的对象数组dates[3],并使用该对象数组的首元素调用该类的SetDate()函数和ShowDate()函数。

答案:#includeusingnamespacestd;classTDate{public:

TDate(inty=0,intm=0,intd=0);//构造函数

~TDate();

//析构函数

voidSetDate(inty,intm,intd);

voidShowDate();private:

intyear,month,day;};TDate::TDate(inty,intm,intd)//构造函数{

year=y;

month=m;

day=d;

cout<<"Constructorcalled."<17.[其它]编写程序(答题时需要上传代码及运行结果的清晰屏幕截图):定义一个老虎(Tiger)类,有私有数据成员年龄(age)、体重(weight),这两个数据成为为int类型,相应的成员函数SetAge()、ShowAge()、SetWeight()、ShowWeight(),定义构造函数和析构函数。定义整型静态数据成员number,用来记录老虎的数量,number的初始值为0,在构造函数中对number进行加1,在析构函数中对number进行减1。定义静态成员函数showNumber(),用来输出number。在main函数中声明Tiger类的对象a和b,并使用b对象调用该类的showNumber()函数。

答案:#includeusingnamespacestd;classTiger{public:

Tiger();//构造函数

~Tiger();

//析构函数

voidSetAge(intw);

voidSetWeight(intw);

voidShowAge(){cout<<"该老虎的年龄是"<在C++语言中,每个类都有一个隐含的指针,叫做_________指针。

答案:this类的私有成员只能被它的成员函数和

访问。

答案:友元函数如果没有为一个类定义任何构造函数的情况下,下列描述正确的是(

)?

答案:编译器总是自动创建一个不带参数的构造函数。下列关于对象初始化的叙述中,正确的是()

答案:定义对象时将自动调用构造函数进行初始化定义析构函数时,应该注意()。

答案:无形参,也不可重载如果类A被说明成类B的友元,则

答案:类B不一定是类A的友元拷贝(复制)构造函数的作用是

答案:用对象初始化对象对于任一个类,用户所能定义的构造函数的个数至多为()。

答案:任意个已知p是一个指向类A数据成员m的指针,a是类A的一个对象,如果要给m赋值为5,正确的是(

答案:a.*p=5;关于this指针的说法错误的是()

答案:this指针必须显示说明下面对友元的错误描述是(

答案:友元函数通过this指针访问对象成员对静态成员的不正确描述是(

答案:调用静态成员函数时要通过类或对象激活,所以静态成员函数拥有this指针友元访问类的对象的成员时使用()

答案:“对象名.成员名”的形式下列关于new运算符的描述中,错误的是()

答案:使用它创建对象数组时必须指定初值下列的各类函数中,(

)不是类的成员函数

答案:友元函数20.[其它]编写程序(答题时需要上传代码及运行结果的清晰屏幕截图):声明一个Animal类,有私有数据成员名称name、性别sex和构造函数和析构函数,将析构函数设置为虚函数,Animal类中的数据成员为string类型。由此公有派生出Dog类,增加私有数据成员年龄age、重量weight及相应的操作函数SetAge()、GetAge()、SetWeight()、GetWeight()以及派生类的构造函数和析构函数,Dog类中的数据成员为int类型;在main函数中声明Dog类的对象a,使用a对象调用该类的SetAge()和GetAge()函数。

答案:#include#includeusingnamespacestd;classAnimal{public:

Animal(stringn="",strings="")

{

cout<<"构造Animal对象"<在派生类的声明中,为了使得从不同路径继承过来的同名数据成员在内存中只有一个拷贝,可在基类继承方式之前加上________关键字。

答案:virtual含有纯虚函数的类称为________类。

答案:抽象不同对象可以调用相同名称的函数,但可导致完全不同的行为的现象称为

性。

答案:多态C++类体系中,不能被派生类继承的有()。

答案:构造函数下列关于基类和派生类关系的叙述中,正确的是()

答案:派生类除了继承基类的成员,还可以定义新的成员下列对派生类的描述中,(

)是错的。

答案:派生类中从基类继承的成员,其访问权限保持不变。在哪种派生方式中,派生类可以访问基类中的protected成员()

答案:public和protected在关于虚函数的描述中,(

)是正确的。

答案:基类中说明了虚函数后,派生类中与其对应的函数可不必说明为虚函数不论派生类以何种方法继承基类,都不能使用基类的(

)。

答案:private成员实现两个相同类型数加法的函数模板的声明是(

)。

答案:Tadd(Tx,Ty)下面函数原型声明中,(

)声明了fun为纯虚函数。

答案:virtualvoidfun()=0;下列关于类的继承描述中,(

)是错误的。

答案

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论