-
系统的如输出运算符重载必须使用友元函数才能进行重载; 索引的重载必须是用成员函数进行重载 ——有些运算符必须使用成员函数重载,有些则必须使用友元函数重载 1.运算符重载可以使运算符具有新的功能 2.运算符重载使用关键字operator 3.++运算符重载需要区分前置++重载和后置++重载查看全部
-
运算符重载的意义: 使得对对象的操作也像操作一个普通数据类型一样简单,也就是可以使我们按照运算符的一般操作方法来应用于对象。 ——给原有运算符赋予新的功能。查看全部
-
成员函数重载:定义类的一个成员函数,重载运算符Coordinate &operator();。 友元函数重载:是传入重载的类,需要传入参数friend operator-(Coordinate & coor);。 运算符重载:给原有运算符赋予新功能。本质:函数重载。 一元运算符重载:只与一个操作数进行运算 关键字:operator查看全部
-
静态函数是不能添加const进行修饰的,因为加了const是对this指针进行修饰,然而静态成员函数是属于全局变量,是没有this指针的。查看全部
-
定义静态成员函数和静态数据成员都需要static关键字。 公有静态成员函数可以被类直接调用。 静态成员函数只能访问静态数据成员和调用静态成员函数。 静态数据成员不能在构造函数初始化,必须单独初始化。查看全部
-
Sizeof求对象大小,是不含静态成员的。普通数据成员与普通成员函数在对象产生后才存在。静态成员随着类的产生而产生。查看全部
-
静态数据成员与静态成员函数的访问方法: 1、直接通过类访问静态成员;2、通过对象类访问也可以。 静态成员函数只能调用静态成员函数或静态数据成员, 对于非静态的成员函数与数据成员,由于没有this指针传入,而不知道所要处理的是哪个对象的成员,从而静态成员函数无法调用非静态成员函数与数据成员。 静态数据成员就相当于全局变量,而不用区分其是哪个对象的。静态成员函数也相当于全局函数。查看全部
-
静态成员函数和数据成员注意事项: 1.静态数据成员必须单独初始化。 2.静态成员函数不能调用非静态数据成员和非静态成员函数。 3.静态数据成员只有一份,且不依赖对象而存在。 定义方法:static 静态数据成员在类未实例化对象时,在内存中也是存在的,从而其依赖于类,不依赖于对象。对其初始化单独进行,不在构造函数中进行。每个对象可以直接访问静态数据成员,从而知道同伴对象的个数。---什么时候使用静态数据成员和成员函数??查看全部
-
友元的声明不受访问限定符影响,可以声明在类中的任何位置。友元具有单向性,A是B的友元,B不一定是A的友元。友元函数和友元类必须使用关键字friend定义。查看全部
-
定义Time类,数据成员:m_iHour, m_iMinute,m_iSecond 成员函数:构造函数 定义Watch类,数据成员:m_tTime, 成员函数:构造函数,display用于显示时间 Time类是Watch类的友元 注:由于编译器不同,友元类有两种写法。1、friend class 类名; 2、friend 类名;查看全部
-
友元破坏了封装性,体现定向暴露的思想。把自己的私有成员暴露出来。 友元是封装的补充,不是一个很好的语法,要避免使用友元。 关于友元的注意事项:查看全部
-
定义Coordinate类,并将全局display函数声明为Coordinate类的友元函数 Coordinate类数据成员m_iX和m_iY display函数用于显示m_iX和m_iY查看全部
-
作为friend函数来说,声明的位置没有影响,但建议写在类的最前面,将重要信息放在前面有助于减少犯错的可能。查看全部
-
友元函数:用关键字friend修饰,后接函数定义,传入当前类的对象、引用或指针,要能够通过该函数访问到对象中的私有成员或保护成员,才能体现出友元的作用。 传递引用或指针传递效率更高,执行速度更快。 在B类中定义友元成员函数 :friend 返回值 类名A::成员函数名(对象); 则A类成为B类的友元,在A类中可以访问B类的私有成员。 一个类的成员函数成为另一个类的友元函数,从而可访问另一个类的保护或私有成员。风险是破坏了数据封装性。查看全部
-
定义类模板的参数可以使用typename和class,可以混用查看全部
举报
0/150
提交
取消