前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >继承练习之汽车类—C++

继承练习之汽车类—C++

作者头像
WindCoder
发布2018-09-20 10:34:30
8110
发布2018-09-20 10:34:30
举报
文章被收录于专栏:WindCoderWindCoder

文件中有:汽车类(汽车的总体信息)、引擎类(汽车排量等相关信息)、小车类(车载人数、排量信息等)、卡车类(车载人数、排量信息、载重量、车轮数、车重等),里面包含了公有及私有继承的实现。

代码语言:javascript
复制
/*
功能:汽车类
日期: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;
}
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2014-11-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档