C++简单问题,求解答 20

书上说过这么一句话,“更一般的讲,必须先定义包含成员函数的类,才能将成员函数设为友元”书上都说必须,为何我在网上看到的代码,却不是这样啊,代码如下,完全和书上说的相反,而... 书上说过这么一句话,“更一般的讲,必须先定义包含成员函数的类,才能将成员函数设为友元”
书上都说必须,为何我在网上看到的代码,却不是这样啊,代码如下,完全和书上说的相反,而是先设为友元。。。
一般都是这样的格式:
class A
{
friend class B;
//。。。。。。
}
class B
{
}
展开
 我来答
chengyi988
2011-01-20 · TA获得超过178个赞
知道答主
回答量:47
采纳率:0%
帮助的人:50.9万
展开全部
注意 这句话是将“成员函数”设为友员,而上面的代码 是将B 声明!!!为A 类的友员类。
而你的问题我没怎么懂 但是定义友员函数 无非两种形式:
在类内加friend 直接定义
在类内声明,类外定义;
先后从何而讲?
feqgat
2011-01-21 · TA获得超过1002个赞
知道小有建树答主
回答量:1092
采纳率:100%
帮助的人:888万
展开全部
将函数void fun(int s[], &j)改成void fun(int s[], int j)就OK了。
采用数组做为参数,该是这样的引用形式: void fun( int s[],int j)
j是数组s[] 那个中括号中的参数。
你可以这样改
#include"stdio.h"
int k=0;
void fun(int s[], int j)
{int i;
for(i=0;i<100;i++)
if(i%3==0)
}
void main()
{int s[100],j=100,i;
fun(s,j);
for(i=0;i<k;i++)
printf("%d\n",s[i]);
}

另外用个全局变量K来作为数组s的参数。而j仅仅用来存储数组的大小。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
sun_siliang
2011-01-20 · TA获得超过2.6万个赞
知道大有可为答主
回答量:9913
采纳率:100%
帮助的人:4501万
展开全部
1 在定义A类的前面有没有B的引用说明,如果有,还是符合C的规定的。
2 B的引用说明可能在头文件中,你仔细找找。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
rianter811
2011-01-20
知道答主
回答量:12
采纳率:0%
帮助的人:0
展开全部
三楼正解
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式