第1个回答 2011-04-15
首先声明C是面向过程的,继承关系是面向对象的才有,因此,我用C++编写了下面的程序,简单展示继承的关系,如果您还有什么不明白的地方,我们可以再探讨~~~
//编写一个程序,定义一个汽车类vehicle,它具有一个需传递参数的构造函数,
//类中的数据成员包括车轮个数和车的重量,并放到保护段中;
//定义轿车类car是汽车类vehicle的私有派生类,其中包含载人数;
//再定义卡车类truck是汽车类vehicle的私有派生类,其中包含载人数和载重量。每个类都有相应的数据输出。
#include<iostream.h>
class vehicle
{
public:
vehicle(int x,double y)
{
wheelnum=x;
weight=y;
}
void print()
{
cout<<"vehicle:\n";
cout<<"车轮个数:"<<wheelnum<<"\n车的重量:"<<weight<<endl;
}
protected:
int wheelnum;
double weight;//单位是吨
};
class car:private vehicle
{
private:
int loadnum;
public:
car(int x,double y,int load):vehicle(x,y)
{
loadnum=load;
}
void print()
{
cout<<"car:\n";
vehicle::print();
cout<<"载人数:"<<loadnum<<endl;
}
};
class truck:private vehicle
{
private:
int loadnum;
double loadweight;
public:
truck(int x,double y,int load,double loady):vehicle(x,y)
{
loadnum=load;
loadweight=loady;
}
void print()
{
cout<<"truck:\n";
vehicle::print();
cout<<"载人数:"<<loadnum<<"\n载重量:"<<loadweight<<endl;
}
};
void main()
{
car car1(8,2.5,6);
car1.print();
cout<<"=============================================\n";
truck tr1(12,5.6,30,9.5);
tr1.print();
}本回答被提问者采纳