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
写于南京工程学院