-1
考慮下面的代碼:爲什麼只要訪問受保護,對象就無法訪問?
class A {
public:
int y;
A(){
int x = 10;
cout << x << endl;
}
} a;
不存在任何問題。聲明的對象a
可以訪問。 但是,用下面的代碼:
class A {
public:
int y;
protected:
A(){
int x = 10;
cout << x << endl;
}
} a;
創建對象a
是不可能的,該代碼將無法編譯。有人可以向我解釋爲什麼儘管受保護的訪問修飾符無法訪問它?我錯過了什麼?謝謝。
「對象在類中」 - 不,它不在類中,它位於類外部的命名空間中,因此無法訪問受保護的構造函數。 – 2014-10-07 00:31:46