【標準C++】C++相談室 part39【STL含む】
■ このスレッドは過去ログ倉庫に格納されています
0219デフォルトの名無しさん
05/01/29 08:21:40class A
{
protected:
void Hoge();
};
class B : public A
{
public:
void Func(B& b) {
Hoge(); // thisを通しての Hoge() →Aを継承したBクラスから呼ぶからこれはOK
b.Hoge(); // b を通してのHoge()。ok(のはず・・・) →NGだよ! Aクラスでprotected指定してるから
//これがOKだったらメンバカプセル化が出来ないことになる
//そしてどのクラスからでもprotected指定のメンバが見えてしまう
//ことになる
A& a = b;
a.Hoge(); //<--- これはどうなるんでしょう・・・・????? →エラーだよ! Aクラスでprotected指定だから
}
};
■ このスレッドは過去ログ倉庫に格納されています