广州网站关键字优化,ps外包网站,做公司网站有什么亮点,怎样删除网站1. 友元 可以把某些选定的函数看作类的“荣誉函数”#xff0c;允许它们访问类对象中非公共的成员#xff0c;就好像它们是类的成员一样#xff0c;这种函数称为类的友元。友元可以访问类对象的任意成员。
1.1 友元函数
友元函数是一种定义在类外部的普通函数#xff0…1. 友元 可以把某些选定的函数看作类的“荣誉函数”允许它们访问类对象中非公共的成员就好像它们是类的成员一样这种函数称为类的友元。友元可以访问类对象的任意成员。
1.1 友元函数
友元函数是一种定义在类外部的普通函数但它需要在类体内进行说明为了与该类的成员函数加以区别定义的方式是在类中用关键字friend说明该函数格式 friend 类型 友元函数名(参数表);友元的作用在于提高程序的运行效率
注意事项:
友元函数不是类的成员函数在函数体中访问对象的成员必须用对象名加运算符“.”加对象成员名。但友元函数可以访问类中的所有成员公有的、私有的、保护的一般函数只能访问类中的公有成员。友元函数不受类中的访问权限关键字限制可以把它放在类的公有、私有、保护部分但结果一样。某类的友元函数的作用域并非该类作用域。如果该友元函数是另一类的成员函数则其作用域为另一类的作用域否则与一般函数相同。友元函数破坏了面向对象程序设计类的封装性所以友元函数如不是必须使用则尽可能少用。或者用其他手段保证封装性
1.2 友元类
如果某类B的成员函数会频繁的存取另一个类A的数据成员, 而A的数据成员的Private/Protectd限制造成B存取的麻烦, B只能通过Public的成员函数进行间接存取把B做成A类的友元类,即A类向B类开放其Private/Protectd内容, 让B直接存取友元类一个类可以作另一个类的友元友元类的所有成员函数都是另一个类的友元函数友元类的定义 friend class 类名; 2. 运算符重载
2.1 概念
运算符重载类似于函数重载运算符重载允许把标准运算符如、—、*、等应用于定制数据类型的对象什么情况下需要考虑运算符重载 需要用运算符操作自定义类的对象时如对象之间直观自然可以提高比较大小等通过重载支持类的运算程序的可读性 体现了C的可扩充性
2.2 定义
成员函数
作为类的成员函数或友元函数、作为一般函数很少用 ( ) [ ] - 的重载函数必须是类的成员函数成员函数原型的格式 函数类型 operator 运算符(参数表);成员函数定义的格式 函数类型 类名::operator 运算符(参数表){ 函数体; }以成员函数的方式重载运算符 单目运算符不带参数该类对象为唯一操作数双目运算符带一个参数该类对象为左操作数、参数为右操作数
友元函数
友元函数原型的格式 friend 函数类型 operator 运算符(参数表);友元函数定义的格式 函数类型 operator 运算符(参数表){ 函数体; }以友元函数的方式重载运算符 单目运算符带一个参数该参数为唯一操作数是自定义类的对象 (a)双目运算符带两个参数第一个参数为左操作数、第二个参数为右操作数至少有一个参数为自定义类的对象 (a, b)