📄 inhrimul.cpp
字号:
//这个程序在本书所带软盘中,文件名为INHRIMUL.CPP
//这个程序利用多重继承,由两个基类导出继承类。
#include <iostream.h>
#include <string.h>
class book { //定义基类book
public:
book(char *title, char *author, int pages);
void show_book(void);
private:
char title[64];
char author[64];
int pages;
};
class disk { //定义基类disk
public:
disk(float mem_size);
void show_disk(void);
private:
float mem_size;
};
class package : public book, public disk {
//类package从两个基类导出
public:
package(char *title, char *author, int pages,
float mem_size, int examples, float price);
void show_package(void);
private:
int examples;
float price;
};
book::book(char *title, char *author, int pages)
//间接方式编写基类构造函数book
{
strcpy(book::title, title);
strcpy(book::author, author);
book::pages = pages;
}
void book::show_book(void) //间接方式编写基类成员子程序show_book()
{
cout << "书名: " << title << endl;
cout << "作者: " << author << endl;
cout << "页数: " << pages << endl;
}
disk::disk(float mem_size) //间接方式编写基类构造函数disk
{
disk::mem_size = mem_size;
}
void disk::show_disk(void) //间接方式编写基类成员子程序show_disk()
{
cout << "储存容量: " << mem_size << "MB" << endl;
}
//间接方式编写导出类 package
package::package(char *title, char *author, int pages, float mem_size,
int examples, float price) : book(title, author, pages) , disk(mem_size)
{
package::examples = examples;
package::price = price;
}
void package::show_package(void)
{
show_book(); //调用基类成员子程序
show_disk(); //调用基类成员子程序
cout << "程序例子数目: " << examples << endl;
cout << "价格: $" << price << endl;
}
void main(void)
{
package this_book("全 C 编程", "高永强", 562, 1.44, 668, 45.99);
this_book.show_package();
}
/*这个程序运行后将显示如下输出结果:
书名: 全 C 编程
作者: 高永强
页数: 562
储存容量: 1.44MB
程序例子数目: 668
价格: $45.99
*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -