首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请打开考生文件夹下的解决方案文件proj2,该工程中包含一个程序文件main.cpp,其中有“书”类Book及其派生出的“教材”类TeachingMaterial的定义,还有主函数main的定义。请在程序中“//********found********”
请打开考生文件夹下的解决方案文件proj2,该工程中包含一个程序文件main.cpp,其中有“书”类Book及其派生出的“教材”类TeachingMaterial的定义,还有主函数main的定义。请在程序中“//********found********”
admin
2021-06-10
25
问题
请打开考生文件夹下的解决方案文件proj2,该工程中包含一个程序文件main.cpp,其中有“书”类Book及其派生出的“教材”类TeachingMaterial的定义,还有主函数main的定义。请在程序中“//********found********”下的横线处填写适当的代码,然后删除横线,以实现上述类定义和函数定义。此程序的正确输出结果应为:
教材名:C++语言程序设计
页 数:299
作 者:张三
相关课程:面向对象的程序设计
注意:只能在横线处填写适当的代码,不要改动程序中的其他内容,也不要删除或移动“//********found********”。
#include
using namespace std;
class Book { //“书”类
char * title; //书名
int num pages; //页数
char*writer; //作者姓名
public:
Book(const char*the_title,int pages , const char*the_writer):num pages(pages){
title=new char[strlen(the titie)+1];
strcpy(title,the title);
//********found********
strcpy(writer,the writer);
}
//********found********
~Book(){__________}
int numOfPages()const { return num pages;} //返回书的页数
const char*theTitle()const
{ return title;} //返回书名
const char * theWriter()
const{return writer;} //返回作者名
};
class TeachingMaterial:public
Book{
//“教材”类
char*course;
public:
TeachingMaterial(const char*the_title,int pages,const char*the writer,const char*the course)
//********found********
:______________{
course=new char[strlen(the course)+1];
strcpy(course,the course);
}
~TeachingMaterial(){delete[]
course;)
const char * theCourse ( )
const{return course;} //返回相关课程的名称
};
int main(){
TeachingMaterial a book ("C++语言程序设计",299,"张三","面向对象的程序设计");
cout<<"教材名:"<
<<"页 数:"<
<<"作 者:"<
Writer()<
//********found********
<<"相关课程:"<<_____________;
cout<
return 0 ;
}
选项
答案
(1)writer=new char[strlen(the_writer)+1}; (2)delete [ ] title,writer; (3)Book(the_title,pages,the_writer) (4)a_book.theCourse()<
解析
(1)主要考查考生对动态分配空间的掌握,在填空前可以参考title的初始化,即先分配空间,再使用strepy函数复制字符串,因此这里使用writer=new char[strlen(the_writer)+1]语句给writer分配空间,注意分配空间的大小应为字符串长度加1。
(2)主要考查考生对析构函数的掌握,要填写的内容是析构函数的函数体,因为有两个动态数组title和writer.所以要释放两个动态数组空间,使用语句~Book(){delete[]title,writer;}来完成。
(3)主要考查考生对派生类的构造函数的掌握,派生类必须使用成员初始化列表法来先给基类进行初始化。
(4)主要考查成员函数调用,题目要求输出“相关课程:面向对象的程序设计”。可以知道这里要显示的是course,但course是私有成员不能直接调用,要使用成员函数凋用,即theCourse()。
转载请注明原文地址:https://kaotiyun.com/show/Sffp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有如下程序:#include<iostream>usingnamespacestd;classMyClass{public:MyClass(intx):val(x){}voidPrin
下列定义语句中,错误的是()。
下列关于派生类构造函数和析构函数的说法中,错误的是()。
有如下程序:#inc1ude<iostream>usingnamespacestd;c1assONE{intC;public:ONE():c(O){cout<<l;)ONE(in
下列有关类成员的叙述中,正确的是()。
有如下程序:#inc1ude<iostream>usingnamespacestd;classMyclass{public:Myclass(){++count;}~Myclass(){一一
下列有关模板的叙述中,正确的是()。
下列有关运算符重载的叙述中,正确的是()。
在下列原型所示的C++函数中,按“传值”方式传递参数的是()。
有如下类定义:classMyClass{public:private:intdata;}:若要为MyClass类重载流输入运算符“>>”,使得程序中可以“cin>>obj;”的形式改
随机试题
对30岁以下原发闭经及高促性腺激素血症的患者,首先检查
年老体弱者中暑时宜迅速降温,将体温尽快降到安全界限(38~38.5℃)。
汇票是出票人签发的,委托付款人在见票时或者在指定日期无条件支付确定的金额给收款人或者持票人的票据。汇票分为银行汇票和商业汇票。下列关于汇票的规定,不正确的有:()
甲某欲投资某饭店的加层扩建项目。加层扩建部分双方四六分成。但办理饭店加层扩建手续需要经有关城建规划部门的批准。该饭店的经理乙某称有办法办理加层手续,但需要费用。甲某拿出15万元给乙某,让乙某负责办理加层手续。乙某到城建规划管理部门办妥了加层手续。甲、乙的行
下列关于商用房贷款中不良贷款管理的说法,错误的有()。
某企业对甲省乙市国税部门给予其行政处罚的决定不服,申请行政复议。下列各项中,应当受理该企业行政复议申请的机关是()。
体操是一个结合了杂技和舞蹈的体育运动。它的魅力,在于那种刀锋上的平衡与美感,在于每一秒都让人___________________。运动员在空中翻腾的时候,即使不在现场的观众,也会不由自主地屏住呼吸,直到运动员稳稳落地。填入划横线部分最恰当的一项是(
如何去________隐藏在已千变万化了的各种学说背后尚未完全遗失的经典原貌,获得真实的体温和人格图谱,从而剥离后世僵化、变异、乏味、随心所欲的解读,尤其是那些自以为智慧的肢解和________,当是目前国学热当中应解决的重要问题。填入画横线部分最恰当的一
王亮是在校大学生,王亮是共青团员,所以在校大学生都是共青团员。以下哪项与题干的论证最为相似?
Childrenwhosemindswandermighthavesharperbrains,researchsuggests.Astudyhasfoundthatpeoplewhoappeartobecon
最新回复
(
0
)