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

📄 arts.cpp

📁 做为SD0609的一员,我扎实的基础是如何打出来的,来看看我那时连猴子选大王都不会的人,是如何成长起来的吧!主要包括我所做的C++,JAVA基础联系.乱是乱了点,不过如果真心想学习,打好基础,看看也不
💻 CPP
字号:
/************************************
* 继承和多态演示程序:艺术品类
* 达内,陈宗权,2006/8
************************************/
#include <iostream>
#include <string>
using namespace std;
//艺术品类,用作基类
class Arts
{
	string author;//作者
	string title;//标题
	int year;//创作年份
protected:
	string type;//种类
public:
    //构造函数
	Arts( string au, string ti, int y )
	:author(au),title(ti),year(y),type("Arts")
	{}
	//虚函数,显示信息
	virtual void show()const
    {
		cout<<type<<":"<<author<<","<<title<<","<<year;
	}
	//虚析构函数
	virtual ~Arts(){}
};
//油画类,艺术品子类
class Painting: public Arts
{
	float width;//宽度
	float height;//高度
public:
    //构造函数
	Painting( string au, string ti, int y, float w, float h )
	:Arts(au,ti,y),width(w),height(h)
	{type="Painting";}
	//显示信息
	void show()const
    {
		Arts::show();
		cout<<",size "<<width<<"x"<<height;
	}
};
//音乐类,艺术品子类
class Music: public Arts
{
	string key;//关键信息
public:
    //构造函数
	Music( string au, string ti, int y, string k)
	:Arts(au,ti,y),key(k)
	{type="Music";}
	//显示信息
	void show()const
    {
		Arts::show();
		cout<<","<<key;
	}
};
class Chamber: public Music
{//室内乐类,音乐子类
	int players;//演奏人数
public: 
    //构造函数
	Chamber( string au, string ti, int y, string k, int p )
	:Music( au,ti,y,k ),players(p)
	{type="Chamber";}
	//显示信息
	void show()const
    {
		Music::show();
		cout<<","<<players<<" players";
	}
};
//控制台类
class console
{
public:
    //用静态函数显示艺术品的信息
    static void show( const Arts& a )
    {
	   a.show();
	   cout<<endl;
    }
};
int main()
{
	Painting op("Darinci","Mona Lisa",1503,24,32);
	Music om("Beethoren","Symphony no.9",1824,"D major");
	Chamber oc("Mozat", "Hoffmeister",1786,"D minor", 4 );
	console::show( op );
	console::show( om );
	console::show( oc );
	return 0;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -