c++基础:重载,模板
来源:互联网 发布:搜狗输入法清除数据 编辑:程序博客网 时间:2024/06/05 05:54
一:重载1.函数重载:(1)不同参数类型,不同参数个数可以重载例如下面的不能重载: void fun(int); 和 void fun(int &)(2)不能用函数返回值重载
2.运算符重载:(1)编译器根据参加运算的操作数的类型来识别不同的运算;(2)重载运算符就是编写一个运算符函数,该函数原形是: <返回值的数据类型> operate<要重载的运算符>(<形参表>)(3)可以用普通函数或成员函数的形式重载操作符(4)当利用非成员函数重载双目运算符时,第一个形参表示左边的操作数,第二个形参表示右边的操作数(5)当用成员函数重载双目运算符时,运算符左边的操作符就是对象本身,不能在将它作为运算符函数的参数,这时运算符函数只需要一个参数;(6)用户不能定义新的运算符,只能对现有的运算符重载,重载后保持原来的优先级和结合性(7)以下的运算符不能重载:.(成员运算符),::,?:,.*
二:模板(为了避免代码重复编写)1.函数模板:即将参数和返回值的数据类型参数化格式例如: template <class T1, class T2, class T3> T1 myfun(T2 a, T3 b) { ... }使用方法: 例如 z=myfun(x,y); 注:上面参数的个数及在函数模板中的位置都是任意的; T1等参数类型可以用来在函数里面声明变量; 函数模板只能用于定义非成员函数; 2.类模板:是一种不确定类的某些数据成员或成员函数参数及返回值的类格式例如: template <class T1, class T2, int i> class myclass {.....}在模板类外部定义模板类的成员函数的格式: template <class T1, class T2, int i> T1 myclass<T1, T2, int>::myfun(T2 a, int b) {...}类模板通过在使用模板类声明对象时给出的实际类型来确定类型参数的 例如: myclass<float, double, 123> myobj();
注:类模板的类型参数表可以含有确定类型的参数,如上面的最后一个参数,这时声明时要代入具体值??
- c++基础:重载,模板
- 【基础C&C++】模板
- 【足迹C++primer】60、重载和模板
- c++STL(一)重载与模板。
- C++--模板遇上运算符重载
- <C/C++基础> 类模板
- <C/C++基础> 重载运算符
- <C/C++基础>重载、覆盖、隐藏
- 【C++】C++运算符重载-基础
- C++、数据库、模板、操作符重载、乱想
- 编写一函数add()函数重载,函数模板(C++)
- (C/C++学习笔记)函数模板遇上函数重载
- 模板类中操作符重载问题("<<"和">>"重载)[c++]
- C++ Template学习笔记之函数模板(7)——重载函数模板
- C++ Template学习笔记之函数模板(7)——重载函数模板
- C++primer阅读笔记-模板与泛型编程(重载与模板)
- C++基础篇—函数重载与Extern C
- java基础改学C++(八)运算符重载
- AS3学习笔记
- 我的as3学习笔记(1)
- 1212
- Flash P2P 通信技巧(AS-Java-AS)
- aswing第一篇
- c++基础:重载,模板
- aswing第三篇
- aswing第四篇
- WxPython的颜色名字列表
- 企业即时通讯市场的现状与发展趋势分析
- 学习C++过程中发现的C++与JAVA的不同点
- nonlotcrn_1.sql
- 『扫盲』sns百度百科
- GridView绑定数据源,无记录时表头也显示的一种解决方法