0
我知道我可以設置保護級別,當我宣佈從超類的子類,如:
class Dog : public Pet {
*blah, blah, blah*
}
但什麼是該在這種情況下保護級別默認爲?
Class Dog: Pet {
*blah, blah, blah*
}
我知道我可以設置保護級別,當我宣佈從超類的子類,如:
class Dog : public Pet {
*blah, blah, blah*
}
但什麼是該在這種情況下保護級別默認爲?
Class Dog: Pet {
*blah, blah, blah*
}
對於一類是私人
class Dog: Pet // Pet is inherited privately.
{}
對於一個結構它是公共的。
struct Dog: Pet // Pet is inherited publicly.
{}
簡單的測試:
class Pet {};
class DogClass: Pet {};
struct DogStruct: Pet {};
int main()
{
DogClass dogClass;
// Pet& pet1 = dogClass; This line will not compile.
DogStruct dogStruct;
Pet& pet2 = dogStruct;
}
你有一個編譯器?你不能只測試這些東西嗎? – Andrei 2011-06-05 20:35:08
@Andrei:當你知道如何測試時,它很容易測試。但它看起來像OP知道如何做測試?基於這個問題本身,似乎不太可能。現在解釋一個簡單的測試(像綁定一個引用並看到編譯失敗)可能對你有用。 – 2011-06-05 20:36:16
@Martin:你可以添加一個測試來證明你的答案(包括必要的'//不會編譯註釋等)。 – 2011-06-05 20:37:49