using namespace std;class sale {
public:
sale(); sale(int n); // virtual ~sale(); string* name; int* salenum; int num;
virtual void read() = 0; virtual void print() = 0; };
class booksale: public sale {
public:
// virtual ~booksale();
virtual void read(); virtual void print(); };
class magazinesale: public sale {
public:
// virtual ~magazinesale(); virtual void read(); virtual void print(); };
sale::sale() {
//定义 基 类 //声明构造函数
//声明带参数构造函数 //虚函数实现多态
//定义name为字符型变量指针 //定义salenum为整型变量 //booksale 是派生类 //虚态,允许派生类中使用基类函数 //magzinesale是派生类 //构造函数 初始化数据 name =0; salenum = 0; num = 0; }
sale::sale(int n) //带一个参数的构造函数 {
name = new string[n];
salenum = new int[n]; //new int[n];开辟一个大小为n的整型数组空间,返回一个指向该存储空间的地址(即指针) num = n; }
void booksale::read() {
while(num == 0) {
cout << \"请输入所有不同名称的书本数量\" cin >> num; if(num == 0) return;
name = new string[num]; salenum = new int[num]; }
for(int i = 0; i < num; i++) {
cout << \"请输入书本名称\" <> name[i];cout <<\"请输入销售数量\" <> salenum[i]; }return; }
void magazinesale::read() {
while(num == 0) {
cout << \"请输入所有不同名称的杂志数量\" cin >> num; if(num == 0) return;
name = new string[num];
<< endl; << endl; salenum = new int[num]; }
for(int i = 0; i < num; i++) {
cout << \"请输入杂志名称\" <> name[i];cout <<\"请输入销售数量\" <> salenum[i]; }return; }
void booksale::print() {
cout << \"\\n\\n销售良好的书:\" << endl; for(int i = 0; i < num; i ++) {
if(salenum[i] >= 500) {
cout << \"书名: \" << name[i] << \"\\"<< \"销售数量: \" << salenum[i] << \"\\n\"; } }
cout << \"\\n\\n\" << endl; }
void magazinesale::print() {
cout << \"销售良好的杂志:\" <if(salenum[i] >= 2500) {cout << \"杂志名: \" << name[i] << \"\\" << \"销售数量: \" << salenum[i] << \"\\n\"; } } }
int main() {
booksale a; magazinesale b; a.read(); b.read(); a.print(); b.print(); return 0; }