派生类环境中基类对象不能访问自己的保护成员

来源:互联网 发布:程序员怎样创业 编辑:程序博客网 时间:2024/05/17 22:11
// 发现这样一个问题 ,程序如下
#include <iostream>
using namespace std;


class Base
{
protected :
int a;
};
class Derived : public Base
{
public : 
int d;
void g()
{
cout << a << endl; // 这个是在派生类环境中直接操控保护成员 
}
void f()
{
Base b;
b.a= 100;// 这里根本不允许访问自己的 保护成员  
cout << "jack : " << b.a << endl;
return ;
}
};
int main(void)
{
Derived d;
d.g();
// d.f();
return 0;

/*
这个问题是这样的(我想的) : 
在派生类环境中,派生类可以直接操控保护成员。

但不能通过基类对象来操控基类对象的保护成员,
 

即若有基类对象,该基类对象无权访问自己的保护成员。


不确定我的猜想是不是正确的,我暂时没找着权威的说法 ,希望得到权威性的解答,或者相关的信息

 
*/ 
0 0
原创粉丝点击