2 world pioneer world_pioneer 于 2016.09.20 09:29 提问

关于对象调用自己的变量的疑问
c++

一个对象何时可以通过成员运算符调用private变量,何时不可以?。。。。。。。。

5个回答

qq_35644234
qq_35644234   2016.09.22 16:05
已采纳
 #include<iostream>
using namespace std;

class A
{
private :
    int a;
public :
    A();
    A(const A & s);
};

A::A(const A & s)
{
    a = s.a;
}

这也算是在类的外部使用成员运算符去访问类成员的一个例子了,另外只要是类的内部成员函数都是可以通过成员运算符来访问类成员的

CH1314QM
CH1314QM   2016.09.20 09:45

Private类型变量好像任何情况下都不能在外部通过成员运算符访问吧,只能通过成员函数进行访问和修改

world_pioneer
world_pioneer 发不了图我才表述的,有的发我还打那么多字干嘛
大约一年之前 回复
u010575396
u010575396 回复world_pioneer: 贴代码,没图说个球
大约一年之前 回复
world_pioneer
world_pioneer 我见过一个类成员函数,它还调用了另一个对象,在函数体里面,它利用成员运算符使用了所调用的对象的一个private变量,为何可行?
大约一年之前 回复
lx624909677
lx624909677   Ds   Rxr 2016.09.20 16:26

不可以调用私有的成员,调用了编译的时候,会报错

qq_28768929
qq_28768929   2016.09.21 09:59

在当前类内部可以,其他都不可以,

robin8624
robin8624   2016.09.27 16:54

友元就可以,不建议这样做。

Csdn user default icon
上传中...
上传图片
插入图片