访问基类的私有成员
㈠ 派生类能否直接访问基类的私有成员若不能,应如何实现
不能
不过可以在基类里面增加公有的setxx和getxx方法,在子类里面通过这些getxx和setxx方法间接访问基类的私有成员变量
㈡ 派生类能否直接访问基类的私有成员若不能,应如何实现
不能访问!也不可实现!也没有实现的必要!你理解出了问题!类成员的既然定义为私有成员就是为了除本类外不能让任何类访问!你试图修改这个规则只能说明你的理解出错!转牛角尖了!
如果是想让子类能访问 就将其由私有成员改为受保护的成员!让也可在父类中定义一个函数返回该私有成员的值 不过没有任何意义!!
㈢ 在派生类中能否直接访问基类中的私有成员
不可以,派生类可以访问protected和public成员,private成员只有该类自身及友元类可以访问
㈣ 派生类可以调用基类的私有成员吗
派生类不能对基类私有成员进行访问。
㈤ 请问子类中继承过来的公有函数,可以访问基类的私有成员变量吗
不可以。
可以先看下C++的继承机制,在计算子类对象所占内存大小的时候,父类的私有成员变量大小也计算在内。所以,子类继承父类时,内部包含父类的私有成员,只不过是已经固化且不可见的。继承自父类的私有成员变量,子类不可见,不可另加操作,实例化后与父类对象私有成员所占内存区地址不同。
当父类存在共有或保护函数对其私有成员变量操作时,子类也可使用继承自父类的这些函数对其内部隐藏的同样继承自父类的私有成员变量进行操作。但子类无法再写一个函数对这部分成员变量进行访问或修改。
㈥ C++中,子类为什么不能访问基类的private数据
子类或者外部代码可以“间接访问”私有成员,但是这个“间接访问”只能是类的编写者决定,类的使用者无权决定,或者说这个访问对类的使用者不可见。
换句话说,如果基类没有间接访问私有成员的代码,子类就不能访问基类的私有成员。
㈦ C++中派生类如何实现对基类私有成员的访问
派生类不能对基类私有成员进行访问。
要在派生类中对基类成员进行访问,可以:
1,在派生类中对基类成员的public属性进行访问,以间接访问基类的私有成员;
2,在基类中将私有成员定义为protected访问属性,以在派生类中直接对其进行访问;
㈧ 派生类继承了所有基类的数据成员,但为什么不能访问基类的私有成员
私有成员子类也继承了,也是会在内存中创建。
无法访问是语言层面给的限制,你厉害的话,可以跨过语言层。
访问到私有变量。直接操作内存。