⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 inhrimul.cpp

📁 C++的常用算法
💻 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 + -