C++.Homework.Inheritance.01

来源:互联网 发布:淘宝免费开店流程图解 编辑:程序博客网 时间:2024/05/16 08:18


===========================Publication.h============================

#pragma once#define LEN 20                             //title、name等可能的最长字节数#include <string>#include <iostream>using namespace std;class Publication{private:char *title;char *name;float price;char *date;public:Publication();Publication(char*,char*,float,char*);~Publication();void inputData();void display();};Publication::Publication(){title=new char[LEN];strcpy(title,"NULL");name=new char[LEN];strcpy(name,"NULL");price=0.00;date=new char[LEN];strcpy(date,"____/__/__");}Publication::Publication(char *title,char *name,float price,char *date){this->title=new char[strlen(title)+1];strcpy(this->title,title);this->name=new char[strlen(name)+1];strcpy(this->name,name);this->price=price;this->date=new char[strlen(date)+1];strcpy(this->date,date);}Publication::~Publication(){delete []title;delete []name;delete []date;}void Publication::inputData(){cout<<"Please input the title:";cin>>title;cout<<"Please input the name:";cin>>name;cout<<"Please input the price:";cin>>price;cout<<"Please input the date:";cin>>date;}void Publication::display(){cout<<"Title:"<<title<<endl;cout<<"Name :"<<name<<endl;cout<<"Price:"<<price<<endl;cout<<"Date :"<<date<<endl;}

===========================Book.h============================

#include "Publication.h"class Book:public Publication{private:int page;public:Book();Book(char*,char*,float,char*,int);void inputData();void display();};Book::Book(){page=0;}Book::Book(char *title,char *name,float price,char *date,int page):Publication(title,name,price,date){this->page=page;}void Book::inputData(){Publication::inputData();cout<<"Please input the page:";cin>>page;}void Book::display(){Publication::display();cout<<"page :"<<page<<endl;}

===========================Tape.h============================

#include "Publication.h"class Tape:public Publication{private:char *playtime;public:Tape();Tape(char*,char*,float,char*,char*);~Tape();void inputData();void display();};Tape::Tape(){playtime=new char[LEN];strcpy(playtime,"--:--:--");}Tape::Tape(char *title,char *name,float price,char *date,char *playtime):Publication(title,name,price,date){this->playtime=new char[strlen(playtime)+1];strcpy(this->playtime,playtime);}Tape::~Tape(){delete []playtime;}void Tape::inputData(){Publication::inputData();cout<<"Please input the playtime:";cin>>playtime;}void Tape::display(){Publication::display();cout<<"Playtime:"<<playtime<<endl;}

===========================main.cpp============================

#include "Book.h"#include "Tape.h"void main(){cout<<"=============================Book1=============================="<<endl;Book B1;B1.display();cout<<"=============================Book1=============================="<<endl;B1.inputData();cout<<"=============================Book1=============================="<<endl;B1.display();cout<<"=============================Book2=============================="<<endl;Book B2("C++面向对象程序设计(第二版)","教材",42.00,"2011/07/01",341);B2.display();cout<<"=============================Tape1=============================="<<endl;Tape T1;T1.display();cout<<"=============================Tape1=============================="<<endl;T1.inputData();cout<<"=============================Tape1=============================="<<endl;T1.display();cout<<"=============================Tape2=============================="<<endl;Tape T2("大学英语","综合训练配套DVD",0,"2012/07/01","01:23:45");T2.display();cout<<"==========================Publication1=========================="<<endl;Publication P1;P1.display();cout<<"==========================Publication1=========================="<<endl;P1.inputData();cout<<"==========================Publication1=========================="<<endl;P1.display();cout<<"==========================Publication2=========================="<<endl;Publication P2("不知道","不知道",0,"不知道");P2.display();}


原创粉丝点击