C++類繼承 繼承后函數(shù)的值實(shí)現(xiàn)詳解
類的繼承會(huì)首先尋找基類,若基類未實(shí)現(xiàn),則會(huì)尋找派生類的函數(shù)
1. class繼承,函數(shù)不繼承
#include <stdio.h>
class Base
{
public:
Base(){}
~Base(){}
int a;
void setA()
{
a = 1;
}
};
class A:public Base
{
public:
A(){}
~A(){}
void setA()
{
a = 2;
}
};
class B:public Base
{
public:
B(){}
~B(){}
void setA()
{
a = 3;
}
};
int main()
{
A *ax = new A();
B *bx = new B();
Base *aClass = ax;
Base *bClass = bx;
aClass->setA();
bClass->setA();
printf("a value of a %d\n", aClass->a);
printf("a value of b %d\n", bClass->a);
return 0;
}
運(yùn)行結(jié)果:

2. 函數(shù)和Class都繼承
#include <stdio.h>
class Base
{
public:
Base(){}
~Base(){}
int a;
virtual void setA()
{
a = 1;
}
};
class A:public Base
{
public:
A(){}
~A(){}
virtual void setA()
{
a = 2;
}
};
class B:public Base
{
public:
B(){}
~B(){}
virtual void setA()
{
a = 3;
}
};
int main()
{
A *ax = new A();
B *bx = new B();
Base *aClass = ax;
Base *bClass = bx;
aClass->setA();
bClass->setA();
printf("a value of a %d\n", aClass->a);
printf("a value of b %d\n", bClass->a);
return 0;
}
運(yùn)行結(jié)果:注意派生類中可以不寫(xiě)virtual,最好寫(xiě)上,以辨別是函數(shù)繼承

若將2中基類的函數(shù)寫(xiě)為純虛函數(shù),運(yùn)行的結(jié)果一樣,但是如果基類是純虛函數(shù),派生類必須實(shí)現(xiàn)相應(yīng)的函數(shù)。
class Base
{
public:
Base(){}
~Base(){}
int a;
virtual void setA()=0;
};
3. 類A中不有函數(shù),則繼承自基類
class A:public Base
{
public:
A(){}
~A(){}
};
結(jié)果為:

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
C++實(shí)現(xiàn)并優(yōu)化異常系統(tǒng)
異常處理是C++的一項(xiàng)語(yǔ)言機(jī)制,用于在程序中處理異常事件,下面這篇文章主要給大家介紹了關(guān)于C++中異常的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-08-08
linux C++ 獲取文件絕對(duì)路徑的實(shí)例代碼
下面小編就為大家?guī)?lái)一篇linux C++ 獲取文件絕對(duì)路徑的實(shí)例代碼。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-12-12
C++實(shí)現(xiàn)編寫(xiě)二維碼的示例代碼
這篇文章主要為大家詳細(xì)介紹如何基于C++實(shí)現(xiàn)編寫(xiě)二維碼的功能,文中的示例代碼講解詳細(xì),具有一定的學(xué)習(xí)價(jià)值,感興趣的小伙伴可以了解一下2023-06-06
opencv4.5.4+VS2022開(kāi)發(fā)環(huán)境搭建的實(shí)現(xiàn)
本文主要介紹了opencv4.5.4+VS2022開(kāi)發(fā)環(huán)境搭建的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-02-02

