新微赢技术网
标题:
友元函数问题
[打印本页]
作者:
jane
时间:
2009-11-4 00:35
标题:
友元函数问题
友元函数不能访问类的私有变量是怎么回事啊? 帮忙分析下原因
作者:
三弓厶
时间:
2009-11-4 00:35
可以
作者:
我只在乎你
时间:
2009-11-4 00:35
但是6.0对友员支持不好..你要用命名空间隔忾
作者:
蓝天使者
时间:
2009-11-4 00:35
要全部贴出来吗?
作者:
欧阳天明
时间:
2009-11-4 00:35
恩..贴出来看看啊
作者:
冰feng£落叶
时间:
2009-11-4 00:35
是用命名空间,我是初学者,还在试;
作者:
让爱留在心底
时间:
2009-11-4 00:35
头文件 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;
}
作者:
俬錛ヤ
时间:
2009-11-4 00:36
我在线等着啊...谢谢你的帮忙呢.
欢迎光临 新微赢技术网 (http://bbs.weiying.cn/)
Powered by Discuz! X3.2