C 快速入門 覆蓋方法和過載方法(13)

2021-08-30 17:42:29 字數 1372 閱讀 6011

c++快速入門---覆蓋方法和過載方法(13)

覆蓋方法(overriding)

覆蓋:在基類裡提供乙個通用函式,但在它的某個子類裡需要修改這個方法的實現。

子類覆蓋基類的方法。

修改例題,為我們的animal新增eat()方法,並在pig和turtle中覆蓋。

#include #include class animal//基本 ; 

//pig繼承於animal

class pig : public animal;

class turtle : public animal;

animal::animal(std::string thename)

void animal::eat()

void animal::sleep()

void animal::drool()

pig::pig(std::string thename) : animal(thename)

void pig::climb()

void pig::eat()

turtle::turtle(std::string thename) : animal(thename)

void turtle::swim()

void turtle::eat()

int main()

過載方法

過載機制使你可以定義多個同名的方法(函式),只是它們的輸入引數必須不同。(因為編譯器是依靠不同的輸入引數來區分不同的方法)

對eat()方法進行過載:test

#include #include class animal//基本 ; 

//pig繼承於animal

class pig : public animal;

class turtle : public animal;

animal::animal(std::string thename)

void animal::eat()

void animal::eat(int eatcount)

void animal::sleep()

void animal::drool()

pig::pig(std::string thename) : animal(thename)

void pig::climb()

turtle::turtle(std::string thename) : animal(thename)

void turtle::swim()

int main()

C 覆蓋方法和過載方法

覆蓋方法 overriding 在 c 裡,當我們需要在基類裡提供乙個通用的函式,但是在它的某個子類裡,需要修改這個方法的實現,就要用到覆蓋。覆蓋是存在類中,子類覆蓋是從基類繼承過來的方法 函式 但是函式名 返回值 引數列表都必須和基類的方法相同。c 可以讓我們很容易實現這種既有共同特徵又需要在不同...

小甲魚C 快速入門 P20 覆蓋方法和過載方法

就是說,父類中定義了乙個方法,但是子類繼承之後對這個方法產生了特殊的需求,需要對這個方法進行一些修改,那麼就可以在子類中定義乙個同名的方法覆蓋掉之前父類中的方法。注意,覆蓋方法時函式的形參和返回值都不能變化,不管是數量還是型別都不能變。與函式的過載是一樣的概念。乙個類中可以有幾個同名的方法,但這些方...

細說C 覆蓋方法和過載方法

很多初學者朋友可能都傻傻分不清覆蓋方法和過載方法的區別是什麼,那麼小雨今天就以例項來給朋友們講解一下。首先說覆蓋方法,讓我們看下面的例子 class animal class pig animal class bird animal void animal move void pig move vo...