1:C++中的繼承方式會影響子類的對外訪問屬性
public繼承:父類成員在子類中保持原有訪問級別
private繼承:父類成員在子類中變爲private成員
protected繼承:父類中public成員會變成protected,父類中protected成員仍然爲protected, 父類中private成員仍然爲private.
|
父類成員訪問級別 |
|||
繼 承 方 式 |
|
public |
proteced |
private |
public |
public |
proteced |
private |
|
proteced |
proteced |
proteced |
private |
|
private |
private |
private |
Private |
通過上面可以簡單瞭解C++的繼承關係,如果通過一些特殊的方法也可以訪問子類中的非public方法,如下。
#include <iostream>
using namespace std;class Father
{
public:
virtual void show()
{
cout << "父類" << endl;
}
};
class Son :public Father
{
private :
virtual void show()
{
cout << "子類" << endl;
}
};
int main()
{
Father *f = new Son;
f->show();
delete f;
return 0;
}