C++ 对象访问类成员算是类外访问还是类内访问?

如题,问什么对象访问类成员算是类外访问?对象是类的实例啊,就是说实例拥有类的所有特性,怎么能算类外呢?... 如题,问什么对象访问类成员算是类外访问?对象是类的实例啊,就是说实例拥有类的所有特性,怎么能算类外呢? 展开
 我来答
我狂我笑001
推荐于2018-05-06 · TA获得超过711个赞
知道小有建树答主
回答量:356
采纳率:0%
帮助的人:368万
展开全部

举个例子,假设有如下代码:

class CA
{
public:
    int a;
public:
    CA(){a = 7;}
};
int main()
{
    CA ca;
    int b = ca.a;
    return 0;
}

CA是一个类,ca是CA的一个实例,因此ca是CA的对象。

当你在main()函数中执行int b = ca.a;这句代码时,是main()函数在访问对象ca的成员变量a,而不是ca自己在访问它自己的成员变量,这就是外部访问。那么,什么是内部访问呢?比如CA的构造函数CA()本身是对象ca的成员函数,在这个构造函数的内部也在访问a,这就是ca自己在访问自己的成员变量,这就是内部访问。

简单点说就是:

如果是在对象ca的外部,以ca.a的形式来访问ca的成员变量a,这就是外部访问;如果是ca自己的成员函数(包括但不限于它的构造函数)在访问ca自己的成员变量,这就是自己访问自己,是内部访问。

Storm代理
2023-08-29 广告
"StormProxies是全球大数据IP资源服务商,其住宅代理网络由真实的家庭住宅IP组成,可为企业或个人提供满足各种场景的代理产品。点击免费测试(注册即送1G流量)StormProxies有哪些优势?1、IP+端口提取形式,不限带宽,I... 点击进入详情页
本回答由Storm代理提供
cppqingyuan
2013-08-28 · 超过44用户采纳过TA的回答
知道答主
回答量:154
采纳率:0%
帮助的人:107万
展开全部
简单说就是在类的大括号内(包括在类中只申明不实现,在其他地方实现的成员函数中)都是类中访问,其他全是类外访问,把防控属性变成私有就可以很明显的试出
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-08-28
展开全部
类是定义
实例是类的实现。

如人,是类
你XX,是人的实现。

在XX外边的类、过程访问类的方法、属性,就是外部。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式