面向对象编程技术(作业题四)

原创 2006年05月21日 22:03:00

#include <iostream>

using namespace std;

class Vehicle
{
protected:
 int m_nWheels;  // 车轮个数
 double m_nWeight; // 车重

public:
 Vehicle(int nWheels, double nWeight)
  : m_nWheels(nWheels)
  , m_nWeight(nWeight)
 {
 }

 // 输出信息
 virtual void OutputInfo()
 {
  cout<<"车轮个数: "<<m_nWheels<<endl;
  cout<<"车重: "<<m_nWeight<<endl;
 }
};

class Car : public Vehicle
{
private:
 int m_nPassengers; // 载人数

public:
 Car(int nWheels, int nWeight, int nPassengers)
  : Vehicle(nWheels, nWeight)
  , m_nPassengers(nPassengers)
 {
 }

 // 输出信息
 virtual void OutputInfo()
 {
  Vehicle::OutputInfo();
  cout<<"载人数: "<<m_nPassengers<<endl;
 }
};

class Truck : public Vehicle
{
private:
 int m_nPassengers; // 载人数
 double m_nPayload; // 载重量

public:
 Truck(int nWheels, int nWeight, int nPassengers, double nPayload)
  : Vehicle(nWheels, nWeight)
  , m_nPassengers(nPassengers)
  , m_nPayload(nPayload)
 {
 }

 // 输出信息
 virtual void OutputInfo()
 {
  Vehicle::OutputInfo();
  cout<<"载人数: "<<m_nPassengers<<endl;
  cout<<"载重量: "<<m_nPayload<<endl;
 }
};


///////////////////////////////////////////////////////////////////////////////
int main(int argc, char* argv[])
{
 Vehicle* pVehicle = NULL;
 Vehicle vehicle(4, 2);
 Car car(4, 3, 5);
 Truck truck(6, 5, 25, 5);

 // 输出信息
 pVehicle = &vehicle;
 pVehicle->OutputInfo();
 cout<<endl;

 pVehicle = &car;
 pVehicle->OutputInfo();
 cout<<endl;

 pVehicle = &truck;
 pVehicle->OutputInfo();
 cout<<endl;

 return 0;
}

面向对象编程技术(作业题二)

#include #define _USE_MATH_DEFINES#include using namespace std;class CShape{public: virtual double A...
  • DonJikn
  • DonJikn
  • 2006年05月21日 12:25
  • 941

面向对象编程技术(作业题三)

#include using namespace std;templateclass CStack{protected: T* m_pData; int m_nLength;  // 栈长度 int ...
  • DonJikn
  • DonJikn
  • 2006年05月21日 21:11
  • 872

面向对象编程技术(作业题一)

#include using namespace std;class Building{protected: int m_nFloorNum;  // 层数 int m_nRoomNum;   // ...
  • DonJikn
  • DonJikn
  • 2006年05月21日 11:14
  • 992

weblogic中的编程点滴

(以下内容也许读者不能正确理解,此文供自己日后查阅参考)VARCHAR和CHAR    如果数据库中的表定义字段的时候,至少Oracle是这样,采用VARCHAR和CHAR的区别在于,当Java控件里...
  • yuanfen127
  • yuanfen127
  • 2006年05月07日 22:42
  • 1072

Java面向对象习题练习

【练习题】01.类的成员变量 猜数字游戏一个类A有一个成员变量v有一个初值100。定义一个类对A类的成员变量v进行猜。如果大了则提示大了小了则提示小了。等于则提示猜测成功。 import jav...
  • qq_37788081
  • qq_37788081
  • 2017年10月09日 20:42
  • 510

面向对象程序设计与结构化方法的比较

1.结构化方法遵循的基本原则 结构化方法的基本思想就是将待解决的问题看作一个系统从而用系统科学的思想方法来分析和解决问题结构化方法遵循以下基本原则 (1)抽象原则 抽象原则是一切系统科学...
  • u010555688
  • u010555688
  • 2014年05月04日 16:28
  • 1572

面向对象编程的几个关键概念继承、多态、组合

一、继承、接口与多态的相关问题:1、 继承的作用?好处?坏处?继承:通过继承实现代码复用。Java中所有的类都是通过直接或间接地继程java.lang.Object类得到的。继承而得到的类称为子类,被...
  • u010159842
  • u010159842
  • 2015年06月17日 22:21
  • 1236

面向对象编程技术

在现实生活中,我们必须弄明白我们所面对的大量的事实以及观念。为此,我们需要从表面细节中抽象出其内在逻辑,发现事物的本质。抽象法可以帮助我们揭示事物的因果,结构和表现形式,区分主要和次要。面向对象编程提...
  • lihongjian944043440
  • lihongjian944043440
  • 2012年04月29日 21:18
  • 1121

Java学习系列(十九)Java面向对象之数据库编程

JDBC(Java Data Base Connectivity:java数据库连接):它定义了一组标准的操作数据库的接口,既然是接口,那它就是一种规范,是Java操作数据库的技术规范。 Java数据...
  • JAVE_LOVER
  • JAVE_LOVER
  • 2013年11月26日 15:46
  • 2262

Java面向对象练习

1、定义长方形类,含:   属性:宽、高(整型);   方法:求周长、面积;   构造方法3个:(1)无参——宽、高默认值为1;(2)1个参数——宽、高均为参数值;(3)2个参数——...
  • sulan2131
  • sulan2131
  • 2017年04月02日 17:30
  • 515
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:面向对象编程技术(作业题四)
举报原因:
原因补充:

(最多只允许输入30个字)