摘要:
一、函数模板 1.基本概念 2.变量作为模板参数 3.多参数函数模板 4.函数模板与重载 注意: <1> 相同模板 实例化出的模板函数之间形成重载 <2>不同模板 注意: 在定义出函数模板的时候,函数模板本身并不是互相重载的关系,因为内存中没有产生任何代码, 只有去使用函数模板时,编译器才会产生出相 阅读全文
摘要:
一、加号+ 1.成员函数重载 2.友元函数重载 二、输出符号<< 三、索引符号 [ ] 四、补充说明 1.《二元运算符重载》课程评论: (一)为什么<<运算符的重载必须定义为友元 如果在类中定义非友元成员函数,默认第一个参数默认会传入this*指针,这时就无法实现cout在前<<对象在后的格式 因为 阅读全文
摘要:
一、-符号重载 1.成员函数重载负号 2.友元函数重载负号 3.补充说明 <1> 《一元运算符编码实现(一)》课程笔记: A:事实上,我们的重载运算符返回void、返回对象本身、返回对象引用都是可以的,并不是说一定要返回一个引用,只不过在不同的情况下需要不同的返回值。 那么什么情况下要返回对象的引用 阅读全文
摘要:
一、静态数据成员与静态成员函数 二、从内存角度看静态数据成员 三、从this指针谈静态成员函数 四、注意事项 五、补充说明 1.《静态》课程评论: 静态成员是类的成员,不是对象的成员; 静态成员函数不能直接访问非静态函数,普通成员函数可以调用静态函数。 静态成员函数访问静态数据成员的方法:类名::静 阅读全文
摘要:
一、友元函数 分为友元全局函数和友元成员函数。 1.友元全局函数 2.友元成员函数 3.补充说明 <1> 友元带来方便的同时也带来了风险,比如破坏类的封装性,除非有特殊需要,否则一般情况下不建议处处使用友元。 <2> 友元函数可以存取私有成员、公有成员和保护成员,即可以出现在类的任何部分。(但建议将 阅读全文