友员函数和友员类

简介:

#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,如需转载请自行联系原作者

相关文章
|
7月前
|
存储 编译器 C++
13函数
13函数
26 0
|
2月前
|
Shell PHP
escapeshellarg() 函数
escapeshellarg() 函数
|
3月前
|
存储 自然语言处理 数据处理
|
7月前
|
存储 C语言 Python
函数的前世今生1系列
函数的前世今生1系列
|
程序员 编译器 C语言
从零带你认识函数(一)
从零带你认识函数
88 1
|
7月前
|
数据库
什么是纯函数
纯函数是指在相同的输入下,总是返回相同的输出,且没有副作用的函数。具体来说,纯函数不会改变任何传入的参数,也不会在函数外部改变全局变量、文件系统、数据库等状态,它只是接收输入并返回输出,不会产生任何可观察的副作用。
70 0
|
编译器 C语言
C 中的函数
C 中的函数
|
存储 编译器 C语言
C语言知识点之 函数
C语言知识点之 函数
56 0
|
算法 程序员 编译器
最简单的函数,看看就会了
最简单的函数,看看就会了
|
算法 编译器
函数(二)
函数(二)
84 0
函数(二)