Chinaunix首页 | 论坛 | 博客
  • 博客访问: 187769
  • 博文数量: 89
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 828
  • 用 户 组: 普通用户
  • 注册时间: 2013-10-08 10:44
文章分类
文章存档

2014年(9)

2013年(80)

我的朋友

分类: C/C++

2013-11-20 16:24:36

友元会将类的内部暴露给其他类或函数,破坏类的抽象性原则,只在有限情况下使用


使用实例:


[cpp] view plaincopy
#include  
#include  
  
using namespace std;  
//提前声明类  
class studentTwo;  
  
//可以当做一个普通类  
class studentOne  
{  
private:  
    int _num;  
    string _name;  
public:  
     //构造函数和普通函数除了返回值得区别  
    studentOne(int num,string name):_num(num),_name(name){}  
    //传递参数是另外类的引用  声明函数加 ;  不要{}  
    void display(studentTwo &);  
};  
  
class studentTwo  
{  
private :  
    int _num;  
    string _name;  
public :  
    studentTwo(int num,string name):_num(num),_name(name){}  
    //要调用另外一个类中函数  可以申明为友元函数  不过将类对象传递过去  
    friend void studentOne::display(studentTwo &);  
};  
//友元函数的定义  
void studentOne::display(studentTwo &two)  
{  
   cout<<"two  name  num: "<        <<"one  name  num: "<<_name<<"  "<<_num< };  
  
int main(){  
 studentOne one(100,"buyingfei");  
 studentTwo two(110,"buyafei");  
 one.display(two);  
 return 0;  
}  
阅读(404) | 评论(0) | 转发(0) |
0

上一篇:Java类集--List接口

下一篇:C++ 内联函数

给主人留下些什么吧!~~