文件中有:汽车类(汽车的总体信息)、引擎类(汽车排量等相关信息)、小车类(车载人数、排量信息等)、卡车类(车载人数、排量信息、载重量、车轮数、车重等),里面包含了公有及私有继承的实现。
/*功能:汽车类日期:2013-11-25*/#include <iostream>using namespace std;/**********************************************************///汽车类class Vehicle{public: Vehicle(int wheels=0,double weight=0): m_iWheels(wheels),m_iWeight(weight){}; int getWheels()const; //获取车轮个数 double getWeight()const; //获取车重protected: int m_iWheels; //车轮个数 double m_iWeight; //车重};//引擎类class Engine{public: Engine(double emissions=0): m_iEmissions(emissions){}; void setEmissions(double emissons); //设置排量信息 double getEmissions()const; //获取排量信息private: double m_iEmissions; //排量信息};//小车类class Car : public Vehicle,private Engine{public: Car(int wheels,double weight); void setPassengerload(int passenger_load); //设置车载人数 int getPassengerload()const; //获取车载人数 void setEmissions(double emissons); //设置排量信息 double getEmissions()const; //获取排量信息private: int m_ipassenger_load; //车载人数};//卡车类class Truck :protected Vehicle,private Engine{public: Truck(int wheels,double weight,double emissions); void setPassengerload(int passenger_load); //设置车载人数 int getPassengerload()const; //获取车载人数 void setPayload(double payload); //设置载重量 double getPayload()const; //获取载重量 int getWheels()const; //获取车轮个数 double getWeight()const; //获取车重 double getEmissions()const; //获取排量信息private: int m_iPassenger_load; //车载人数 double m_iPayload; //载重量};/**********************************************************///汽车类int Vehicle::getWheels()const{ return m_iWheels;}double Vehicle::getWeight()const{ return m_iWeight;}
//引擎类函数void Engine::setEmissions(double emissons){ m_iEmissions = emissons;}double Engine::getEmissions()const{ return m_iEmissions;}//小车类函数Car::Car(int wheels=0,double weight=0):Vehicle(wheels,weight){
}void Car::setPassengerload(int passenger_load){ m_ipassenger_load = passenger_load;}int Car::getPassengerload()const{ return m_ipassenger_load;}void Car::setEmissions(double emissons){ Engine::setEmissions(emissons);}double Car::getEmissions()const{ return Engine::getEmissions();}//卡车类Truck::Truck(int wheels=0,double weight=0,double emissions=0):Vehicle(wheels,weight){ Engine::setEmissions(emissions);}void Truck::setPassengerload(int passenger_load){ m_iPassenger_load = passenger_load;}int Truck::getPassengerload()const{ return m_iPassenger_load;}void Truck::setPayload(double payload){ m_iPayload = payload;}double Truck::getPayload()const{ return m_iPayload;}int Truck::getWheels()const{ return m_iWheels;}double Truck::getWeight()const{ return m_iWeight;}double Truck::getEmissions()const{ return Engine::getEmissions();}/**********************************************************/int main(void){
Car c1(4,300); c1.setPassengerload(5); c1.setEmissions(200); Truck T1(6,1000,300); T1.setPassengerload(2); T1.setPayload(900);
cout<<"c1的信息为:"<<endl<<"车轮个数:"<<c1.getWheels()<<" "<<"车重:"<<c1.getWeight()<<endl; cout<<"排量信息:"<<c1.getEmissions()<<" "<<"车载人数:"<<c1.getPassengerload()<<endl<<endl; cout<<"T1的信息为:"<<endl<<"车轮个数:"<<T1.getWheels()<<" "<<"车重:"<<T1.getWeight()<<endl; cout<<"排量信息:"<<T1.getEmissions()<<" "<<"车载人数:"<<T1.getPassengerload()<<endl; cout<<"载重量:"<<T1.getPayload()<<endl<<endl; system("pause"); return 0;}
评论