C/C++:C++執行父類的方法


 C++執行父類的方法

首先,我們建立一個工程,再來寫我們的父類。


People.h:

<span style="font-size:18px;">#ifndef PEOPLE_H
#define PEOPLE_H

#include <iostream>

using namespace std;

class People{
    public:
        void say_hello();
};

#endif // PEOPLE_H
</span>

People.cpp:


<span style="font-size:18px;">
#include "People.h"

void People::say_hello(){
    cout << "People: hello world !" << endl;
}
</span>


再來就是我們的子類:

Main.h:


<span style="font-size:18px;">#ifndef MAIN_H
#define MAIN_H

#include "People.h"

class Main:public People{
    public:
        void say_hello();

};

#endif // MAIN_H</span>


Main.cpp:


<span style="font-size:18px;">
#include "Main.h"

void Main::say_hello(){
    cout << "Main: hello world !" << endl;
}
</span>


好,準備工作做好了,我們現在來寫好我們的主程序:


<span style="font-size:18px;">#include "Main.h"

int main()
{
    Main *p = new Main();
    p -> say_hello();
    return 0;
}
</span>


此時,主程序輸出的是Main:hello world !;


而我們想要輸出父類中的People:hello world !要怎樣做呢。


我們只需要改改子類的Main.cpp:


<span style="font-size:18px;">
#include "Main.h"

void Main::say_hello(){
    People::say_hello();
}</span>

此時,我們輸出的就是People:hello world !;我們就用這個方法來實行父類的方法。


而我們要兩個都輸出呢?仍然只要改改就行;


<span style="font-size:18px;">
#include "Main.h"

void Main::say_hello(){
    People::say_hello();
    cout << "Main: hello world !" << endl;
}

</span>

此時,在運行輸出時,就是輸出兩個hello world 了。


其實,我們即使,不在子類中寫,也是能輸出父類的hello world的。

我們只需要在主程序中這麼寫就行了。


<span style="font-size:18px;">
#include "Main.h"

int main()
{
    Main *p = new Main();
    p -> People::say_hello();
    delete p;
    return 0;
}
</span>

這也是C++的強力和方便之處。讓人感覺很爽。



PS:天行健,君子以自強不息。












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