设计一个出版物基类publication

来源:百度知道 编辑:UC知道 时间:2024/05/15 00:20:13
设计一个出版物基类publication,存储出版物的标题title和价格price。派生图书类book和音像品类tape,分别添加属性页数page和播放时间time。三个类都有getdata()和putdata()函数,用来通过键盘从用户获得输入数据和显示数据。在驱动程序main()中创建指向publication的指针数组,在循环中询问用户的输入内别(书还是磁带),然后用new创建相应类的对象保存数据,最后将指向该对象的指针存入数组。当用户输入所有的数据后,用循环结构显示所有输入的书和磁带的信息。并添加相应的函数实现修改已有出版物的价格和删除出版物的功能。编写完整的程序进行演示

/*
设计一个出版物基类publication,存储出版物的标题title和价格price。
派生图书类book和音像品类tape,分别添加属性页数page和播放时间time。
三个类都有getdata()和putdata()函数,用来通过键盘从用户获得输入数据和显示数据。
在驱动程序main()中创建指向publication的指针数组,在循环中询问用户的输入内别
(书还是磁带),然后用new创建相应类的对象保存数据,
最后将指向该对象的指针存入数组。当用户输入所有的数据后,
用循环结构显示所有输入的书和磁带的信息。并添加相应的函数实现修改已有出版
物的价格和删除出版物的功能。编写完整的程序进行演示
*/
#include <iostream>
#include <string>

using namespace std;

class CPublication
{
protected:
string m_strTitle;
float m_fPrice;
public:
virtual void getdata();
virtual void putdata();
public:
CPublication( const string& title = "",float price = 0.0f ):m_strTitle(title),m_fPrice(price){}
~CPublication(){}
};
void CPublication::getdata()
{
cin>>m_strTitle>>m_fPrice;
}
void CPublication::putdata()
{
cout<<m_strTitle<<"-"<<m_fPrice<<endl;
}