1. 程式人生 > >第十四周閱讀程式:1-(3)

第十四周閱讀程式:1-(3)

/*
* 程式的版權和版本宣告部分
* Copyright (c)2012, 煙臺大學計算機學院學生
* All rightsreserved.
* 檔名稱: Vehicle.cpp
* 作 者:李巧麗
* 完成日期:2013 年5月31日
* 版本號: v1.0
* 對任務及求解方法的描述部分:略
* 輸入描述:略
* 問題描述:略
*/
#include <iostream>
using namespace std;
class Vehicle //交通工具
{
public:
    virtual void run() const=0;
//    {
//       cout << "run a vehicle. "<<endl;
//    }
};
class Car: public Vehicle //汽車
{
public:
    void run() const
    {
        cout << "run a car. "<<endl;
    }
};
class Airplane: public Vehicle //飛機
{
public:
    void run() const
    {
        cout << "run a airplane. "<<endl;
    }
};
int main()
{
    cout<<"(a) 直接用物件訪問成員函式: "<<endl;
//    Vehicle v;
//    v.run();
    Car car;
    Airplane airplane;
    car.run();
    airplane.run();
    cout<<"(b)用指向基類的指標訪問成員函式: "<<endl;
    Vehicle *vp;
    vp=&car;
    vp->run();
    vp=&airplane;
    vp->run();
    return 0;
}


執行結果:

心得體會:抽象類不能例項化,即不能建立物件。還有純虛擬函式是不能被呼叫的。所以要刪除那兩行