c++【复习篇】: 模板
友元函数:
- 友元全局函数
- 友元成员函数
关键字:friend。
友元全局函数:
youyuan
使用时直接访问私有成员、 传入对象名而非地址。
友元成员函数:
友元类:
friend+类名
- 友元关系不可传递
- 友元关系的单向性
- 友元声明的形式及数量不受限制。
- 友元只是封装的一个补充
静态:不隶属于类。
- 静态的数据成员
- 静态的成员函数
静态数据成员必须单独初始化。【类外】
静态成员函数不能调用非静态成员函数和非静态数据成员。
非静态的成员函数可以调用静态的数据成员和成员函数。
静态数据成员只有一份,不依赖对象而存在。
运算符重载:
本质:函数重载。
关键字:operator
友元函数的重载、成员函数的重载。
成员函数运算符丶重载:
友元函数运算符丶重载:
二元运算符重载:和上面差不多。
<<号运算符重载:
输出运算符不可以采用成员函数重载。
[]索引运算符重载:
也不能采用成员函数重载。
函数模板:
类似java和其他语言中的泛型。
关键字:template typename class
这里的class不是用来定义类而是表明数据类型的。
上面是函数模板,
main中的调用处是模板函数。
变量作为模板的参数:
当有多个参数:
函数模板还可以重载。。。
类模板: