设为首页收藏本站

新微赢技术网

 找回密码
 注册
搜索
热搜: 回贴
查看: 210|回复: 7
打印 上一主题 下一主题

友元函数问题

[复制链接]
跳转到指定楼层
1#
发表于 2009-11-4 00:35:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
友元函数不能访问类的私有变量是怎么回事啊?    帮忙分析下原因
2#
发表于 2009-11-4 00:35:55 | 只看该作者
可以
回复 支持 反对

使用道具 举报

3#
发表于 2009-11-4 00:35:56 | 只看该作者
但是6.0对友员支持不好..你要用命名空间隔忾
回复 支持 反对

使用道具 举报

4#
发表于 2009-11-4 00:35:56 | 只看该作者
要全部贴出来吗?
回复 支持 反对

使用道具 举报

5#
发表于 2009-11-4 00:35:57 | 只看该作者
恩..贴出来看看啊
回复 支持 反对

使用道具 举报

6#
发表于 2009-11-4 00:35:58 | 只看该作者
是用命名空间,我是初学者,还在试;
回复 支持 反对

使用道具 举报

7#
发表于 2009-11-4 00:35:59 | 只看该作者
头文件 friends.h
#ifndef FRIENDF
#define FRIENDF
namespace friends
{
    class Box
    {
    public:
        Box(double rlength=1.0,double rwidth=1.0,double rheight=1.0);
        ~Box();
        void Show();
        //friend double BoxSurface(const Box& other1,const Box& other2);
        friend double BoxSurface(const Box& other1);
    private:
        double length;
        double width;
        double height;
    };
}
#endif
定义文件:
friends.cpp
#include<iostream>
#include"friends.h"
using namespace std;
using namespace friends;
Box::Box(double rlength,double rwidth,double rheight):length(rlength),width(rwidth),height(rheight){}
Box::~Box()
{
    cout<<"析构"<<endl;
}
void Box::Show()
{
    cout<<"长:"<<length<<endl
        <<"宽:"<<width<<endl
        <<"高;"<<height<<endl;

}
主文件:
#include<iostream>
#include"friends.h"
using namespace std;
using namespace friends;

int main()
{
    Box aa(10.0,20.0,30.0);
    aa.Show();
    Box bb(40.0,50.0,60.0);
    bb.Show();
    cout<<"两高: "<<BoxSurface(aa)<<endl;
    return 0;
}
double BoxSurface(const Box& other1)
{
    return  other1.height+other1.width+other1.length;
}
回复 支持 反对

使用道具 举报

8#
发表于 2009-11-4 00:36:01 | 只看该作者
我在线等着啊...谢谢你的帮忙呢.
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

申请友链|小黑屋|最新主题|手机版|新微赢技术网 ( 苏ICP备08020429号 )  

GMT+8, 2024-11-18 17:00 , Processed in 0.076783 second(s), 9 queries , Gzip On, Memcache On.

Powered by xuexi

© 2001-2013 HaiAn.Com.Cn Inc. 寰耽

快速回复 返回顶部 返回列表