C++考试,急求编程题答案,要完整程序!

声明一个Vehicle类,有数据成员MaxSpeed,Weight及成员函数Run、Stop实现输出其运动状态;并由Vehicle类派生出自行车(bicycle)类,增加数据成员高度(height)和操作函数SetMaxSpeed( int n )直接给MaxSpeed赋值。成员函数的实现均在类外实现。声明一个自行车类对象cBicycle,写出基类和派生类的构造函数和析构函数的调用顺序

#pragma once

#include <iostream>

using namespace std;

class Vehicle

{

public:

 Vehicle(void);

 ~Vehicle(void);

 int MaxSpeed;

 int Weight;

 

 void Run();

 void Stop();

};


#include "Vehicle.h"

Vehicle::Vehicle(void)

{

}

Vehicle::~Vehicle(void)

{

}

void Vehicle::Run()

{

 cout<<"自行车正在以"<<MaxSpeed<<"的速度运动"<<endl;

}

void Vehicle::Stop()

{

 cout<<"停止运动"<<endl;

}


//自行车类

#pragma once

#include "vehicle.h"


class bicycle :

 public Vehicle

{

public:

 bicycle(void);

 ~bicycle(void);

 int height;

 void SetMaxSpeed(int n);

};


#include "bicycle.h"

bicycle::bicycle(void)

{

}

bicycle::~bicycle(void)

{

}

void bicycle::SetMaxSpeed(int n)

{

 MaxSpeed = n;

}

 

#include "bicycle.h"

bicycle cBicycle;

void main()

{

 cBicycle.SetMaxSpeed(5);

 cBicycle.Run();

 cBicycle.Stop();

 system("pause");

}

温馨提示:内容为网友见解,仅供参考
第1个回答  2013-06-21
class  Vehicle
{
public:
    Vehicle();
    ~Vehicle();
proctected:
    int MaxSpeed;
    int Weight;
    bool Run();
    bool Stop();
}

class  bicycle : public Vehicle
{
public:
    bicycle();
    ~bicycle();
proctected:
    int height;
    bool SetMaxSpeed(int );
}

bool bicycle::SetMaxSpeed(int speed)
{
    MaxSpeed = speed;
    return true;
}

int main()
{
    bicycle cBicycle;
    return 0;
}

顺序为:先父类构造,再子类构造;  先子类析构,再父类析构

追问

运行不出来呀

运行不出来呀

追答

本来就不能运行,每个函数的功能你都没说,我函数都没写呢怎么运行?这个题目要可以运行的?

追问

对啊,要运行的,快快快

追答#include<iostream>
using namespace::std;
class  Vehicle 

public: 
    Vehicle(); 
    ~Vehicle(); 
protected: 
    int MaxSpeed; 
    int Weight; 
    bool Run(); 
    bool Stop(); 
};
  
class  bicycle : public Vehicle 

public: 
    bicycle(); 
    ~bicycle(); 
protected: 
    int height; 
    bool SetMaxSpeed(int ); 
};
  
Vehicle::Vehicle()
{
 Run();
}
Vehicle::~Vehicle()
{
 Stop();
}
bool Vehicle::Run()
{
 cout<<"vehicle running"<<endl;
 return true;
}
bool Vehicle::Stop()
{
 cout<<"vehicle stopped"<<endl;
 return true;
}
bool bicycle::SetMaxSpeed(int speed) 

    MaxSpeed = speed; 
    return true; 
}
bicycle::bicycle()
{
}
bicycle::~bicycle()
{
}
  
int main() 

    bicycle cBicycle; 
    return 0; 
}

好了,交了吧

本回答被提问者采纳
第2个回答  2013-06-21
//C++ CODE

#include <iostream>

using namespace std;

class Vehicle {
public:
Vehicle () {
cout << "Vehicle construct" << endl;
}

virtual ~Vehicle () {
cout << "Vehicle deConstruct" << endl;
}

void Run () {}
void Stop () {}
    
protected:
    int    m_maxSpeed;
    int    m_weight;
};

class Bicycle : public Vehicle {
public:
Bicycle () {
cout << "Bicycle construct" << endl;
}
virtual ~Bicycle () {
cout << "Bicycle deConstruct" << endl;
}

void setMaxSpeed (int n); 

private:
int m_height;
};

void Bicycle::setMaxSpeed (int n) {
m_maxSpeed = n;
}

int main (int argc, char** argv) {

#define HEAP
//--Way 1: in the stack
#ifndef HEAP
Bicycle bicyc();

//--Way 2: in the heap
#ifdef HEAP
Bicycle* bicyc = new Bicycle();
bicyc->setMaxSpeed(100);
delete bicyc;
bicyc = NULL;
#endif
return true;
}

相似回答