202171103Wang
实验五 继承与多重继承
一、定义一个点 Point 类。
1)由 Point 继承定义一个圆 Circle1 类。计算并输出圆的面积。
2)定义一个圆 Circle2 类,其中有 Point 子对象。计算并输出圆的面积。
二、定义一个日期类 Date,数据成员包括年、月、日,构造函数和 PrintDate()函数分
别用于设置日期和显示日期;
再定义一个时间类 Time,数据成员包括时、分、秒,构造函数和 PrintTime()函数分别
用于设置时间和显示时间;
在此基础上再定义一个日期时间类 TimeDate,充分利用已有的两个类,并编写主函数
测试所定义的类。
三、 有一个书的类 Book 及一个作者类 Author,分别定义如下:
class Book
{
public:
Book(int n,string na,int p,string pr,int y,int m)
:no(n),name(na),price(p),press(pr),year(y),month(m){}
void disp_no(){cout<<"书号:"<<no<<endl;}
void disp_name(){cout<<"书名:"<<name<<endl;}
void disp_price(){cout<<"定价:"<<price<<endl;}
void disp_ym(){cout<<"出版时间:"<<year<<'.'<<month<<endl;}
private:
int no; //书号
string name; //书名
double price; //定价
string press; //出版社
int year,month; //出版时间
};
class Author
{
public:
Author(string na,int a,int y):name(na),age(a),year(y){}
void disp_name(){cout<<"作者姓名:"<<name<<endl;}
void disp_age(){cout<<"作者年龄:"<<age<<endl;}
void disp_year(){cout<<"写作时间:"<<year<<endl;}
private:
string name; //作者姓名
int age; //作者年龄
int year; //写作时间
};
试以此两个类为基类,派生出图书查询卡类 Card,此类新增加一个数据成员 no 表示卡
号,以及一个可以显示卡号、书名、作者、作者年龄、出版时间、出版社、定价等数据的函
数。最后设计一个主程序来测试此类中的功能。
评论0