首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请使用VC6或使用【答题】菜单打开考生文件夹proj2下的工程proj2。该工程中包含一个程序文件main.cpp,其中有“书”类Book及其派生出的“教材”类TeachingMaterial的定义,还有主函数main的定义。请在程序中“//*******
请使用VC6或使用【答题】菜单打开考生文件夹proj2下的工程proj2。该工程中包含一个程序文件main.cpp,其中有“书”类Book及其派生出的“教材”类TeachingMaterial的定义,还有主函数main的定义。请在程序中“//*******
admin
2017-07-04
51
问题
请使用VC6或使用【答题】菜单打开考生文件夹proj2下的工程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 title)+1];
strcpy(title,the_title);
//**********found**********
strcpy(writer,the_writer);
}
//**********found**********
一Book(){________}
int numOfPages()const{return num—
paqes;) //返回书的页数
const char*theTitle()const{re-
turn title;) //返回书名
const char*theWriter()const{re-
turn 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{re-
turn course;) //返回相关课程的名称
};
int main(){
TeachingMaterial a book(”C++语言程序
设计”,299,“张三”,”面向对象的程序设计”);
cout<<"教材名:"<
<
<<”页数:”<
<
<<”作 者:”<
<
//*********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的初始化,即先分配空间,再使用strcpy函数复制字符串,因此这里使用writer=new char[stflen(the_writer)+1]语句给writer分配空间,注意分配空间的大小应为字符串长度加1。
(2)主要考查考生对析构函数的掌握,要填写的内容是析构函数的函数体,因为有两个动态数组title和writer,所以要释放两个动态数组空间,使用语句~Book(){delete[]title,writer;}来完成。
(3)主要考查考生对派生类的构造函数的掌握,派生类必须使用成员初始化列表法来先给基类进行初始化。
(4)主要考查成员函数调用,题目要求输出“相关课程:面向对象的程序设计”。可以知道这里要显示的是course,但course是私有成员不能直接调用,要使用成员函数调用,即theCourse()。
转载请注明原文地址:https://kaotiyun.com/show/tLAp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
设有如下定义 struct ss { char name[10]; int age; char sex; }std[3], * p=std; 下面各输入语句中错误的是
若变量都已正确说明,则以下程序段的输出结果是 a=2;b=3; printf(a>b?"* * *a=%d": "# # #b=%d",a,b);
对于下面程序,对p调用正确的是( )。 class A{ public:fun(int i){cout<<i<<endl;} }; main(){ A a; int k=0; void(A
阅读下面程序:#include<iomanip.h>intmain(){cout<<setfill(’*’)<<setw(8);cout<<setprecision(5)<<3.1
设有如图所示的二叉树则对该二叉树前序遍历的结果是
如下类定义中包含了构造函数和拷贝构造函数的原型声明,请在横线处填写正确的内容,使拷贝构造函数的声明完整。classmyClass{private:intdata;public:myClass(in
关于关键字class和typename,下列描述正确的是()。
在下面的运算符重载函数的原型中,错误的是
下列关于运算符重载的描述中,正确的是()。
随机试题
微分方程-y+q(x)=0的通解为().
胎儿窘迫的护理措施,不正确的是
A.参附汤合五苓散B.参附汤合葶苈大枣泻肺汤C.参附龙牡汤D.真武汤合五苓散E.真武汤合葶苈大枣泻肺汤治疗心力衰竭心肾阳虚;水饮泛滥证,应首选
A.0.03~0.06gB.0.015~0.03gC.1~2gD.0.5~1.5gE.0.06~0.6g蟾酥内服量是()。
以下关于基金会计核算,表述错误的是()。
以下资料选自2009年7月中国建筑股份有限公司首次公开发行A股的发行公告。中国建筑首次公开发行不超过120亿股人民币普通股(A股)的申请已获中国证券监督管理委员会证监许可2009627号文核准。本次发行的保荐人是中国国际金融有限公司。本次发行采用网下向询价
2016年11月30日,某企业“坏账准备—应收账款”科目贷方余额为45万元,12月31日,相关应收账款所属明细科目借方余额为700万元。经减值测试,该应收账款预计未来现金流量现值为590万元。不考虑其他因素,该企业2016年12月31日应确认的资产减值损失
像真的海一样,我们既赞美它,又__________它。远远地看,大海澄碧湛蓝,云蒸霞蔚,但一旦跳入其间,你立即成为草芥,__________于汹涌混沌之中。填入画横线部分最恰当的一项是()。
Greenlandwasnotacontinent,aspeoplethought.
Marketriskreferstotheriskof______.
最新回复
(
0
)