友元函数
来源:互联网 发布:spring源码视频百度云 编辑:程序博客网 时间:2024/06/05 21:13
在C++语法中有一个叫做友元函数,类的好朋友,好到可以直接访问和修改类的私有成员.C++这样设计虽然提供了另外一种方式来访问和修改类的私有成员,但是也破坏面向对象设计的封装这个原则.友元函数的特性决定 了友元函数的一个重要的应用—-(操作符重载,见后面的博客)
一,友元函数的定义和性质
1,友元函数需要在类中使用friend关键字进行声明, 声明在public,private,protected域都是一样的.如:
friend void setFriendA(FriendFunc *p , int a);
2,友元函数是一个全局函数,并非属于类.需要对其实现添加方法体
void setFriendA(FriendFunc *p , int a){ p->a = a; }
二,示例代码
代码如下:
// 友元函数.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include"iostream"using namespace std;class FriendFunc{public: FriendFunc(int a){ this->a = a; } friend void setFriendA(FriendFunc *p , int a); void printA(){ cout << "a = " << a << endl; }private: int a;};void setFriendA(FriendFunc *p , int a){ p->a = a;}int _tmain(int argc, _TCHAR* argv[]){ FriendFunc a(1); a.printA(); setFriendA(&a, 100); a.printA(); return 0;}
0 0
- 友元函数
- 友元函数
- 友元函数
- C++友元函数
- 友元函数
- 友元函数
- 友元函数
- 友元函数
- 什么是友元函数
- 友元函数
- 友元函数(二)
- 友元函数
- 友元成员函数
- friend 友元函数
- 友元函数
- 友元函数 友元类
- 友元函数
- 模板友元函数
- 友元函数
- [LeetCode] Scramble String
- sudo apt-get命令大全
- C++基础---枚举
- Android_开源框架_Afinal
- 友元函数
- C++基础---数组
- C++基础---多维数组
- Keepalived简介
- C++基础---指针数组与数组指针
- 多线程
- 我自己的noip复习(实时更新)
- 【Python】virtualenv —— 建立Python虚拟环境
- 算法题:剔除字符串(很有意思)