鸡啄米
鸡啄米:C++编程入门系列之二十二(C++程序设计必知:友元)›评论
-
6. lyh458:
很多说法说友元并没有破坏了类的封装性和类数据的隐藏性哦。
官方说法https://isocpp.org/wiki/faq/friends#friends-and-encap2016/3/7 15:15
-
5. AAAA:
博主,我有个疑问,在最上面的例子里面:
class A
{
public:
int Getx() { return x; }
private:
int x;
};
class B
{
public:
void Set(int y);
private:
A a;
};
void B::Set(int y)
{
a.x = y;
}
如果想让类A把类B的Set函数设为友元函数,应该怎么做呢?我直接在类A的public下写
friend void B::Set(int y)不行,因为这里还没有定义类B;如果在前面加上前项引用Class B;好像也不行,因为没有给出类B的具体定义YaoStars 于 2017-1-3 16:36:46 回复在class A之前先声明一下,class B,不需要定义,可以在后面实现2015/2/9 22:54
-
4. 雄鸡啄米:
友元函数里有段程序:
int Add(Data &a, Data &b)
{
return a.x + b.x;
}
Data &a, Data &b 这个不太懂。是引用调用吗?
huhuzzz 于 2017-2-28 10:25:04 回复4楼问的对,这是引用调用,如果在Add函数中修改a和b的x的值是能够真正的修改x的,这个可以利用GetX函数查看123 于 2019-3-5 11:14:03 回复我也不太明白int Add(Data &a, Data &b)这个含义,我把&去掉,int Add(Data a, Data b)写好像也能编译成功,运行正确2013/9/24 17:59
-
3. B2B平台:
来看看,只围观,不说话鸡啄米 于 2011-10-14 23:49:21 回复欢迎常来2011/10/14 14:53
-
2. 青岛葡萄酒:
之前是学个这些代码的,但现在,他认识我不认识他啊!鸡啄米 于 2011-10-14 23:48:58 回复呵呵,常来啊2011/10/14 14:52
发表评论