?? 程序12.5:綜合應用2.cpp
字號:
/* 程序12.5:綜合應用2.cpp:*/
#include<iostream> //包含頭文件
#include<string> //包含頭文件
using namespace std; //使用名字空間std
class publication //聲明基類publication
{
protected:
char *title; //書的標題變量
float price; //書的價格變量
public:
void getData(char *name,float rate);//聲明基類成員函數
void putData(); //聲明基類成員函數
};
void publication::getData(char *name,float rate)
{
title=name;
price=rate;
}
void publication::putData()
{
cout<<"Title : "<<title<<endl;
cout<<"Price : "<<price<<endl;
}
class book:public publication //聲明子類book
{
int pageCount;
public:
void getData(char *name,float price,int pages)
{
publication::getData(name,price);
pageCount=pages;
}
void putData()
{
publication::putData();
cout<< "No of Pages:"<<pageCount<<endl;
}
};
class tape: public publication
{
int playingTime;
public:
void getData(char *name,float price,int time)
{
publication::getData(name, price);
playingTime=time;
}
void putData()
{
publication::putData();
cout<< "Playing time:"<<playingTime<<endl;
}
};
/*int main() //錯誤的main()函數,無法完成滯后聯編
{ //因為子類和基類getData()函數不同(參數個數不同)
publication *Ptr;
Ptr= new book;
Ptr->getData("C++教程書",50,400);
Ptr->putData();
Ptr= new tape;
Ptr->getData("C++教程盤",15,60);
Ptr->putData();
delete Ptr;
return 0;
}*/
int main()
{
book *Ptr1= new book;
Ptr1->getData("C++教程書",50,400);
Ptr1->putData();
delete Ptr1;
tape *Ptr2= new tape;
Ptr2->getData("C++教程盤",15,60);
Ptr2->putData();
delete Ptr2;
return 0;
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -