友员函数和友员类

简介:

#include<iostream>

using namespace std;

class Test2//注意友员类的定义放在Test1的之上!!

{

friend class Test1;//Test1想直接访问Test2的private参数,所以声明为我是你的朋友!

public:

Test2(int a, int b){ x = a; y = b; }

int getx(){

return x;

}

int gety(){

return y;

}

private:

int x, y;

};

class Test1{

public:

Test1(int a, int b) :t(a, b){}

void print(){ cout << "Test2 的对象t的x:" << t.x << endl; }

private:

Test2 t;//因为Test2是Test1的友员


};

class Test3{

public:

friend int getTx(Test3 & t3);//友员函数通过类的指针或引用访问这个类对象的私有成员

private:

//friend int getTx(Test3 & t3);//放在这里完全一样,访问限制符对友员函数不管用

int x;

};

int getTx(Test3 & t3){//友员函数在类外定义!不加static防止给别的混淆

return t3.x;//友员函数可以使用类的所有函数

}

int main(){

Test1 t1(2,5);

t1.print();

system("pause");

return 0;


}



本文转自 神迹难觅 51CTO博客,原文链接:http://blog.51cto.com/ji123/1919811,如需转载请自行联系原作者

相关文章
|
3月前
|
数据库
什么是纯函数
纯函数是指在相同的输入下,总是返回相同的输出,且没有副作用的函数。具体来说,纯函数不会改变任何传入的参数,也不会在函数外部改变全局变量、文件系统、数据库等状态,它只是接收输入并返回输出,不会产生任何可观察的副作用。
18 0
|
8月前
|
算法 编译器 程序员
|
4月前
|
前端开发 JavaScript
Less的函数的介绍
Less的函数的介绍
25 0
|
4月前
|
机器学习/深度学习
函数的使用
任务1 统计小组一门课程的总分及平均分。
28 1
|
9月前
|
程序员 C语言 C++
函函函函函函函函函函函数——one
函函函函函函函函函函函数——one
56 0
|
10月前
|
Python
什么是函数
什么是函数
68 0
|
11月前
|
算法 编译器 API
8.函数
8.函数
54 0
|
12月前
|
算法 程序员 C++
C/C++ 中的 strrchr() 函数
strrchr() 函数 在 C++ 中,strrchr() 是用于字符串处理的预定义函数。cstring 是字符串函数所需的头文件
254 0
|
Serverless
比值函数
比值函数
152 0
|
JavaScript 前端开发 API
h函数为什么叫h?
h函数为什么叫h?
199 0