二.C++学习笔记-模板
来源:互联网 发布:重庆旅游业数据 编辑:程序博客网 时间:2024/06/18 10:05
学过Java的看到C++的模板应该会觉得跟泛型的使用的方式非常相似,所以理解起来还是比较容易的,只不过语法有些许不同,需要花些时间去熟悉。
一.函数模板
#include "stdafx.h"#include <iostream>#include <string>using namespace std;template<typename T>void max(T a,T b) {cout << (a > b ? a : b) << endl;}void max(double a, double b) {cout << "模板特例化" << endl;}template<typename T>T max2(T a, T b) {return a > b ? a : b;}template<typename T,int count>void max3(T a,T b) {for (int i = 0; i < count; i++) {cout << (a > b ? a : b) <<" "<< count << endl;}}int main() {max<int>(1, 2);max(1.1, 2.1);cout << max2<int>(1, 2) << endl;max3<int, 2>(4, 5);return 0;}
二.类模板
#include "stdafx.h"#include<iostream>#include "ConsoleApplication2.h"using namespace std;template<typename T>class Rect{public:Rect(T length, T height);T calcArea();T calePerimeter();public:T m_length;T m_height;};/*** 类属性赋值*/template<typename T>Rect<T>::Rect(T length, T height){m_length = length;m_height = height;}template<typename T>T Rect<T>::calcArea(){return m_height*m_length;}template<typename T>T Rect<T>::calePerimeter(){return 2*(m_length+m_height);}int main(){Rect<int> rect(2,3);cout << rect.calcArea() << endl;cout << rect.calcArea() << endl; return 0;}
0 0
- 二.C++学习笔记-模板
- ThinkPHP自带模板学习笔记二
- Django的学习笔记(二)(Django模板)
- 学习《c++primer》笔记二
- c语言学习笔记二
- C语言学习笔记<二 >
- C/C++学习笔记(二)
- Objective-c 学习笔记(二)
- Objective C学习笔记(二)
- Objective-C 学习笔记二
- c学习笔记(二)
- 《Programming.C#》学习笔记二
- C语言学习笔记二
- C++Template学习笔记之函数模板
- (C/C++学习笔记)函数模板加强
- 【C++】【STL】STL学习之旅二:模板
- Velocity模板引擎(template engine)学习笔记二
- 块设备驱动学习笔记(二)——实例模板
- python正则表达式
- 使用电脑模拟微信内置浏览器
- 如何将int 转换为 Cstring 类型
- YUV420P像素数据编码为JPEG图片
- openssl生成SSL证书的流程
- 二.C++学习笔记-模板
- 修改状态栏颜色
- LevelDB详解
- 通过可视化来了解你的Spark应用程序
- react-native组件笔记
- #316 – 改变按钮的ClickMode(Changing the ClickMode of a Button)
- ElasticSearch:QueryParsingException: [my-index] failed to find geo_point field [position] 解决
- 设计模式之单例模式(singleton)C++
- 360面试题——搜索二叉树转换成有序的双向链表