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

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

/*
功能:汽车类
日期: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;
}

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏小狼的世界

妈呀,狼来了?

听听这充满诱惑的广告语、感受这不断被煽动的情绪,您有何感想呢?目前我们确实已经有了facebook、kaixin001、校内这样的社交网络,我们也有了twitt...

832
来自专栏吉浦迅科技

專為手提電腦及AIO PC 設計 AMD 「Carrizo」 APU 系統單晶片

AMD 日前於國際固態電路研討會中( International Solid-State Circuits Conference ; ISSCC )發表...

3578
来自专栏镁客网

5万把共享雨伞现身杭州街头,却在一夜之间被城管收走

1143
来自专栏java一日一条

JAVA版孔乙己

听人家背地里谈论,孔乙己原来也是计算机硕士,但终究是因为打撸啊撸时间太长,忘了新生代和老年代的区别,去IT类培训学校做了一名学生

1232
来自专栏PPV课数据科学社区

【笑话】程序猿才懂得幽默……第N波

1、上完厕所正准备走,隔间传来一阵哀怨的声音:“哥们,帮帮我好吗?”我叹了口气:“不带纸就敢蹲坑,你也是蛮拼的!”他尴尬地笑了笑,说:“不是,你能不能帮我去问下...

3135
来自专栏杨建荣的学习笔记

最近在读的一些文章

我犯下的代价惨痛的错误使我改变了看问题的角度,从“我知道我是对的”变成了“我怎么知道我是对的”。这些错误让我养成了谦逊的习惯,我需要用谦逊平衡我的勇敢。—《原则...

1032
来自专栏机器人网

史上最全汽车图解,老司机也未必认得完 (收藏版)

这份史上最全汽车各部件图解,非常值得收藏!就算是老师傅,有很多部件的名字你肯定听说过但不一定都知道在哪个位置吧。 ? 打开发动机盖,就是这个样子了,4A13...

2998
来自专栏WOLFRAM

魔尺(Rubik&#39;s Snake)的可视化

1424
来自专栏Netkiller

竞猜活动区块链方案探索

竞猜活动区块链方案探索 合约实现了报名,退出,参加人数控制,竞猜次数控制,公布答案,获奖名单等等功能 pragma solidity ^0.4.20;// Au...

38310
来自专栏java一日一条

每个程序员和设计师必做的10项运动

防止肌肉和颈部麻痹的基本伸展动作。这套舒展动作不但有助于保持体型,还能修复突出的颈椎。

792

扫码关注云+社区

领取腾讯云代金券