c++类的成员函数访问私有成员是不是不用通过形参?
发布网友
发布时间:2023-08-03 01:05
我来回答
共2个回答
热心网友
时间:2023-08-09 05:07
类的成员变量分三种: public protect private
1、类的成员函数可以访问类这三类
2、继承类成员函数可以访问 protect 类型
3、只有本身类的成员函数才可以访问 private 类型
4、类的对象若在其他函数中是不可以访问类的 protect private类型变量
类其实是个模型。
而对象就是找个这个模型制作的实体。
比如,类是造车的图纸,对象就是找个图纸造出的汽车。
类的成员是分级别的:protect,public,private。
在类内部定义的函数可以访问任何一个变量,或者调用任何的类内部的函数,但是,如果被定义成private的话,对象是不能调用的,也就是对象只能调用定义为public的数据,如果你确实需要调用某个private的变量,你可以定义一个public的函数来返回这个变量,比如:
class D
{
private:
int a;
public:
int Getint(){return a;}
}
这里你的对象不能调用a的,
也就是不能
int b;
D d;//假设已经写好了构造函数
b=d.a;//这是错误的,
但是你可以
b=d.Getint();
这样就可以把a的值给b了。
所有的public的函数都可以通过
<对象>.<函数名>
的方式来调用
热心网友
时间:2023-08-09 05:07
是的.this指针是隐含的.在类成员函数中访问本类的成私有成员直接访问..私有这个概念不是针对类本身自己,而是针对他的子类或派生类..而言.你自己的东西你可以随时拿取,但是别人拿你的东西是有*的.
谭浩强那本C++程序设计讲得很清楚..很经典,你需要细看...