设计一个“航空器”抽象类,由它派生出两个子类:“运输机”类和“客机”类
2010-06-11 18:00
393 查看
//设计一个“航空器”抽象类,由它派生出两个子类:“运输机”类和“客机”类。
//“运输机”类包含名称、型号和有效载重量三个属性
//“客机”类包含名称、型号和载客数三个属性。
//给出两个具体的对象如下:
//“大力神”运输机,型号C-130,有效载重量15876千克
//“波音”客机,型号747,载客数524人。
#include <iostream>
#include <string>
using namespace std;
class Aircraft
{
protected:
char *name;
char *type;
public:
virtual void show()=0;
virtual void setdata(char *,char *,int)=0;
};
class Transportplane:public Aircraft
{
private:
int load;
public:
void setdata(char *sname,char *stype,int sload)
{
name=new char[strlen(sname)+1];
strcpy(name,sname);
type=new char[strlen(stype)+1];
strcpy(type,stype);
load=sload;
}
void show()
{
cout<<"名称:"<<name<<"/t型号:"<<type<<"/t载重量:"<<load<<" kg"<<endl;
}
};
class Passengerplane:public Aircraft
{
private:
int number;
public:
void setdata(char *sname,char *stype,int snumber)
{
name=new char[strlen(sname)+1];
strcpy(name,sname);
type=new char[strlen(stype)+1];
strcpy(type,stype);
number=snumber;
}
void show()
{
cout<<"名称:"<<name<<"/t型号:"<<type<<"/t载客量:"<<number<<" 人"<<endl;
}
};
void main()
{
Aircraft *p;
Transportplane t;
Passengerplane a;
p=&t;
t.setdata("大力神","C-130",15876);;
p->show();
p=&a;
a.setdata("波音","747",524);;
p->show();
}
//“运输机”类包含名称、型号和有效载重量三个属性
//“客机”类包含名称、型号和载客数三个属性。
//给出两个具体的对象如下:
//“大力神”运输机,型号C-130,有效载重量15876千克
//“波音”客机,型号747,载客数524人。
#include <iostream>
#include <string>
using namespace std;
class Aircraft
{
protected:
char *name;
char *type;
public:
virtual void show()=0;
virtual void setdata(char *,char *,int)=0;
};
class Transportplane:public Aircraft
{
private:
int load;
public:
void setdata(char *sname,char *stype,int sload)
{
name=new char[strlen(sname)+1];
strcpy(name,sname);
type=new char[strlen(stype)+1];
strcpy(type,stype);
load=sload;
}
void show()
{
cout<<"名称:"<<name<<"/t型号:"<<type<<"/t载重量:"<<load<<" kg"<<endl;
}
};
class Passengerplane:public Aircraft
{
private:
int number;
public:
void setdata(char *sname,char *stype,int snumber)
{
name=new char[strlen(sname)+1];
strcpy(name,sname);
type=new char[strlen(stype)+1];
strcpy(type,stype);
number=snumber;
}
void show()
{
cout<<"名称:"<<name<<"/t型号:"<<type<<"/t载客量:"<<number<<" 人"<<endl;
}
};
void main()
{
Aircraft *p;
Transportplane t;
Passengerplane a;
p=&t;
t.setdata("大力神","C-130",15876);;
p->show();
p=&a;
a.setdata("波音","747",524);;
p->show();
}
相关文章推荐
- 5.18设计一个基类,再派生出两个子类
- 第13周任务4(设计一个抽象类CSolid,含有两个求表面积及体积的纯虚函数。设计个派生类CCube、CBall、CCylinder,分别表示正方体、球体及圆柱体)
- python基础----继承与派生、组合、接口与归一化设计、抽象类、子类中调用父类方法
- 设计一个抽象类CSolid,含有用于求表面积及体积的两个纯虚函数。设计派生类CCube、CBall、CCylinder,分别表示正方体、球体及圆柱体。在main()函数中,定义CSolid *p;(p
- 十三周任务四:设计一个抽象类CSolid,含有两个求表面积及体积的纯虚函数
- 《C++第十三周实验报告4-1》---设计一个抽象类CSolid,含有两个求表面积及体积的纯虚函数。 设计个派生类CCube、CBall、CCylinder,分别表示正方体、球体及圆柱体。
- 十四周项目三设计一个抽象类CSolid,含有用于求表面积及体积的两个纯虚函数(第一次做完老师发的试题,还有时间做OJ上面的题,贵在坚持)
- C++第十三周【任务4】设计一个抽象类CSolid,含有两个求表面积及体积的纯虚函数,同时设计个派生类CCube、CBall、CCylinder
- 第十三周 任务四 设计一个抽象类CSolid,含有两个求表面积及体积的纯虚函数
- 第十三周实验--任务4--设计一个抽象类CSolid,含有两个求表面积及体积的纯虚函数。
- 一个抽象类Shape 里边有两个抽象方法 计算面积 和 周长; Shape由三角形和圆形继承,利用多态的特性设计完成不同子类的功能
- 第十三周【任务四】 设计一个抽象类CSolid,含有两个求表面积及体积的纯虚函数
- java设计一个名为person的类和它的两个名为student和employee的子类
- 设计一个抽象类CSolid,含有用于求表面积及体积的两个纯虚函数。设计派生类CCube、CBall、CCylinder,分别表示正方体、球体及圆柱体。在main()函数中,定义CSolid *p;(p
- 设计一个父类,并派生多个子类
- python基础之类的继承与派生、组合、接口与归一化设计、抽象类、子类中调用父类方法
- [菜鸟白话设计模式系列] Bridge 模式 -- 一个连接线,两个支撑点
- 关于栈的弹出函数设计是否应该有两个返回值,一个表示数据,一个表示是否栈为空
- Head First Java: 怎么判断你需要创建一个父类、子类、抽象类还是接口
- 作业五-设计一个程序计算输入的两个数的和与差,要求自定义一个函数 sum_diff(float op1, float op2, float *psum, float *pdiff),其中 op1 和 op2 是输入的两个数,*psum 和*pdiff 是计算得出的和与差.