c++类模版和运算符重载的运用
来源:互联网 发布:封面制作软件下载 编辑:程序博客网 时间:2024/05/22 09:50
最近在看数据结构算法c++描述,很久没写c++了,所以就当回忆下,所以以下代码就当练手,输出的是工资的最大值人的姓名和它的工资:
#include<iostream>#include<vector>#include<string>using namespace std;template <typename Compareable> //模版const Compareable & findMax(const vector<Compareable> & arr) //Compareable可以表示任意类型,这里是表示Employee类{ int maxIndex = 0; for(int i=1; i<arr.size(); i++) { if(arr[maxIndex] < arr[i]) { maxIndex = i; } } return arr[maxIndex];}class Employee //雇员的类{public: void setVaule(const string & n,double s) //构造函数初始化,两个参数 { name = n; salary = s; } const string & getName() const //返回员工的姓名 { return name; } void print(ostream &out) const //要输出的东西 { out << name << "(" << salary << ")"; } bool operator < (const Employee & rhs) const //运算符重载 { return salary < rhs.salary; }private: string name; double salary;};ostream & operator << (ostream &out,const Employee & rhs) //输出流{ rhs.print(out); return out;}int main(){ vector<Employee> v(3); //vector数组,表示容器内有三个vaule v[0].setVaule("George Bush",400000.00); v[1].setVaule("Bill Gates",20000000.00); v[2].setVaule("Dr.Phil",130000000.00); cout<<findMax(v)<<endl; //如果没有用输出流的话,那么这句会报错}
0 0
- c++类模版和运算符重载的运用
- 模版类运算符重载
- 【C++】重载运算符和重载函数
- c++_类的运算符重载
- c++-运算符的重载
- C++--运算符的重载
- 复数运算符的重载与模版类complex的对比
- 运算符重载之先加和后加++以及【】的运用
- [C/C++]运算符的重载
- NDK-CPP语言-模版类运算符重载+模版类static关键字+类型转换
- 带有模版类的输入输出重载符
- C/C++中结构成员运算符(.)和间接成员运算符(->)的运用
- 《C++》12 C++ 重载运算符和重载函数
- C++-运算符重载
- [C++]重载运算符
- C#:运算符重载
- c++-++运算符重载
- C++:重载运算符
- java native2ascii的用法介绍
- 装饰模式
- HBase总结(十四)LINUX下用Eclipse构建HBase开发环境
- mac下安装 php mongo redis 扩展
- POJ 1947--Rebuilding Roads
- c++类模版和运算符重载的运用
- Linux下C++的的开发和调试运行工具
- HBase总结(十八)Hbase rowkey设计一
- ExtJs开发-入门篇
- 用bootstrap实现表格隔行变色,hover 变色并在需要时出现滚动条
- Activty与Service通信的所有情况(相同进程、不同进程)
- MySQL数据库引擎介绍、区别、创建和性能测试的深入分析
- WP_Query的使用方法
- rhel中定时任务cron解析