第13周 閱讀程序,寫出運行結果。 2.(3)交通工具類之純虛函數



//
*Copyright(c) 2016.煙臺大學計算機與控制工程學院
*ALL rights  reserved.
*文件名稱:main.cpp
 *作者:孫亞茹
*完成日期:2016年5月31日
*問題描述:閱讀,修改和運行關於交通工具類的程序,回答問題,以理解相關技術方法。
*//

#include<iostream>
using namespace std;
class Vehicle
{
public:
     virtual void run()const=0;


};
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;
}

回答:

      設置爲純虛函數運行時主函數中將會出現錯誤,將錯誤的那行註釋掉,程序能正常運行且運行結果和虛函數結果相同。

      因爲有純虛函數類的基類爲抽象基類,不能在抽象類中創建對象,但能聲明指向抽象類的指針和引用。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章