當前位置:編程學習大全網 - 編程語言 - C++編程題,在線求解!!!

C++編程題,在線求解!!!

/*

1、定義壹個媒體Media類

2、它有兩個派生類:圖書Book類、光盤CD類

3、其中,圖書有名稱、銷售數量、ISBN編號等屬性

4、光盤有名稱、銷售數量、制作方等屬性

5、要求:

1)設計上述三個類的相關屬性;

2)利用多態性的概念,分別以虛函數的形式完成對圖書和光盤信息的顯示

3)編寫壹個普通函數f(),顯示出銷售數量超過1000的圖書和光盤

4)在main函數中進行測試。

*/

#include <vector>

#include <string>

#include <iostream>

using namespace std;

class Media

{

public:

Media(){};

~Media(){};

virtual void Init(string name, int number)

{

m_Name = name;

m_Number = number;

};

virtual int GetNumber()

{

return m_Number;

}

virtual void Display()

{

cout<<"name: "<<m_Name<<endl;

cout<<"namber: "<<m_Number<<endl;

}

protected:

string m_Name;

int m_Number;

};

class Book : public Media

{

public:

Book(){};

~Book(){};

void Init(string name, int number, string ISBN)

{

Media::Init(name, number);

m_ISBN = ISBN;

};

void Display()

{

Media::Display();

cout<<"ISBN: "<<m_ISBN<<endl;

}

private:

string m_ISBN;

};

class CD : public Media

{

public:

CD(){};

~CD(){};

void Init(string name, int number, string Author)

{

Media::Init(name, number);

m_Author = Author;

};

void Display()

{

Media::Display();

cout<<"author: "<<m_Author<<endl;

}

private:

string m_Author;

};

int main()

{

// 添加書籍和光盤

Book *b1 = new Book();

Book *b2 = new Book();

Book *b3 = new Book();

b1->Init("book1", 100, "ISBN100");

b2->Init("book2", 1000, "ISBN1000");

b3->Init("book3", 10000, "ISBN10000");

CD *cd1 = new CD;

CD *cd2 = new CD;

CD *cd3 = new CD;

cd1->Init("cd1", 100, "author100");

cd2->Init("cd2", 1000, "author1000");

cd3->Init("cd3", 10000, "author10000");

vector<Media *> vectMedia;

vectMedia.push_back(b1);

vectMedia.push_back(b2);

vectMedia.push_back(b3);

vectMedia.push_back(cd1);

vectMedia.push_back(cd2);

vectMedia.push_back(cd3);

// 顯示部分(銷售數量大於1000)

for (int i=0; i<vectMedia.size(); i++)

{

if (vectMedia[i]->GetNumber() >= 1000)

{

cout<<"》》》銷售量大於1000的書籍或光盤《《《"<<endl;

vectMedia[i]->Display();

}

}

return 0;

}

// 運行效果見圖示

  • 上一篇:CNC加工中心是做什麽的?
  • 下一篇:怎麽學python編程
  • copyright 2024編程學習大全網