C++复习(2):类的一系列操作.友元
来源:互联网 发布:剑灵龙女完美身材数据 编辑:程序博客网 时间:2024/05/21 14:45
之前复习了函数的扩充用法以及C++中类的简单介绍,今天复习一下类的相关操作。
1.友元
C++语言是一门面向对象的程序语言,封装性、模块化是C++的主要特点而友元的功能是对这种特性的一种破坏但同时也是对C++这门编程语言的一种补充。
1)友元函数
友元函数就是将程序中A类外定义的函数,声明为A类的友元函数,这样一来此函数就跟A的成员函数一样可以访问A类的所有成员。
举例:
Class A { private: int i; public: friend void B::display(); friend void display();}
例中类A中将两个函数声明为友元,其中一个是B类中的display函数、另一个是类外的display函数这两个类在类A中的访问权限是相同的并没有什么差别。
2)友元类
将一个类A声明为另一个类B的友元与声明友元函数类似,作用是A中所有的成员函数都是B的友元函数,不过这个友元关系并不能传递且是单向的。
举例:
class Student; // 前向声明,类名声明class Teacher {privated: int noOfStudents; Student * pList[100];public: void assignGrades(Student& s); // 赋成绩 void adjustHours(Student& s); // 调整学时数};class Student{privated: int Hours; float gpa; public: friend class Teacher; };void Teacher:: assignGrades(Student& s){…};void Teacher:: adjustHours(Student& s){…};
调用时定义一个Teacher类型对象并调用两个成员函数编译即可通过。
2017年11月25日11:00:57
写于南京工程学院
阅读全文
1 0
- C++复习(2):类的一系列操作.友元
- C++复习(3):类的一系列操作.继承与派生
- 一系列的IO操作
- 单链表的一系列操作
- 任务栏的一系列操作
- git 的一系列操作
- 二维码的一系列操作
- c++-类的友元
- 字符串(String)的一系列操作
- 字符串(Sring)的一系列操作
- 文件操作的一系列方法
- 链表的一系列操作
- java 日期的一系列操作
- java 日期的一系列操作
- 树状数组的一系列操作
- 数据结构栈的一系列操作
- C++友元复习
- C的复习2
- HTML5 indexedDB前端本地存储数据库实例教程
- JS图片预览代码
- job--express-mongodb
- #java学习笔记#Java编程思想读书笔记
- 1.初识JavaScript
- C++复习(2):类的一系列操作.友元
- 习题6(6.10)
- PIL opencv 学习网站记录
- Java线程synchronized、Lock
- 汉诺塔(递归)
- uva 10082 WERTYU(错位键)
- android studio的项目添加gson依赖库 搜索显示nothing to show
- JS的Cookie操作方法
- 简述Vin码识别/车架号识别技术