// 子クラス
class Deriv : protected Base{
public:
int deriv_public;
protected:
int deriv_protected;
private:
int deriv_private;
public:
void deriv_func(){
// 親クラスの場合は・・・
base_public = 10; // OK
base_protected = 10; // OK
base_private = 10; // エラー
}
};
// さらに子クラス
class D_Deriv : public Deriv{
void d_deriv_func(){
base_public = 10; // OK
base_protected = 10; // OK
base_private = 10; // エラー
}
};
void main(){
D_Deriv d;
d.base_public = 10; // エラー
d.base_protected = 10; // エラー
d.base_private = 10; // エラー
d.deriv_public = 10; // エラー
d.deriv_protected = 10; // エラー
d.deriv_private = 10; // エラー
}
|
// 子クラス
class Deriv : private Base{
public:
int deriv_public;
protected:
int deriv_protected;
private:
int deriv_private;
public:
void deriv_func(){
// 親クラスの場合は・・・
base_public = 10; // OK
base_protected = 10; // OK
base_private = 10; // エラー
}
};
// さらに子クラス
class D_Deriv : public Deriv{
void d_deriv_func(){
base_public = 10; // エラー
base_protected = 10; // エラー
base_private = 10; // エラー
}
};
void main(){
D_Deriv d;
d.base_public = 10; // エラー
d.base_protected = 10; // エラー
d.base_private = 10; // エラー
d.deriv_public = 10; // エラー
d.deriv_protected = 10; // エラー
d.deriv_private = 10; // エラー
}
|