C++模板总结
来源:互联网 发布:php get请求 带参数 编辑:程序博客网 时间:2024/05/22 02:20
1.模板的定义
在重载中,我们可以根据参数的不同来调用不同的函数,以达到重载,但是如果想实现代码的重用 C++模板再好不过了。模板能实现数据类型的参数化。即把类型当成参数
#include<stdio.h> template <typename T> T max(T x,T y){return (x>y)? x:y;} int main() { printf("%d", max<int>(3,8));return 0; }
第一次写直接输出的时候格式不太正确。
2 模板分为函数模板和类模板
class CTest {public: CTest(int i); CTest(const CTest& rhs); CTest& operator=(const CTest& rhs);//operator用于(赋值号)重载,返回类的对象的指针 void printCTest(const CTest& rhs);private: int value;};CTest::CTest(int i):value(i){ cout<<"Contructor of CTest"<<endl;}CTest::CTest(const CTest& rhs):value(rhs.value){ cout<<"Copy contructor of CTest"<<endl;}CTest& CTest::operator=(const CTest& rhs){ cout<<"Assign function of CTest"<<endl; if(this == &rhs) return *this; value = rhs.value; //通过对象访问私有成员变量 return *this;}void CTest::printCTest(const CTest& rhs){ cout<<rhs.value<<endl; //通过对象访问私有成员变量}int main(){ CTest t = 1; CTest tt = 2; // cout<<t.value<<endl; //通过对象访问私有成员变量,编译错误 // cout<<tt.value<<endl; //通过对象访问私有成员变量,编译错误 t.printCTest(tt);}
这个例子中主要先讲了operator作为重载操作符的典型例子,
下一篇再讨论模板的两种具体情况
0 0
- 【C++】模板总结
- 【C++】模板函数总结!!!
- 【c++】模板知识总结
- linux c 编程模板总结(一)
- linux c 编程模板总结(二)
- 学习总结: C++ 模板 (thinking in C++)
- 第08章 CORE C++_模板_总结
- 关于C++STL模板库的一些总结(一)
- 模板总结
- 模板总结
- C++-模板
- C++-模板
- C++:模板
- C++:模板
- C++:模板
- 模板 (C++)
- C ++ 模板
- C ++ 模板
- FPGA开发流程
- shell 命令
- mongodb 在 linux 下的安装与配置
- struts2自定义拦截器
- 第九周项目三——“*”的输出
- C++模板总结
- 第9周项目5-程序填充题(2)
- 【敏捷】 James谈汤森路透研发中心敏捷引入历程(ZZ)
- 详解SOA五种基本架构模式
- 关于人脸识别作品源码和服务评测的分享
- Java reflection(反射)
- JavaScript是你应当学习的下一个(或第一个)编程语言
- mini2440启动
- kettle转换中使用javascript例子整理(2)