#include "stdafx.h"
#include "Power.h"
#include <iostream>
using namespace std;
/*定义模板---单个类型*/
template <class T> T add(T a,T b);
/*定义模板---多个类型*/
template <class TReturn,class TArgs> TReturn addData(TArgs a,TArgs b);
/*定义模板的说明*/
//template<> long* add<long*>(long *a,long *b);
//这个是声明一个函数,此函数返回值是一个long型的指针,然后还有两个参数一个是指针另外一个是int
long *pFunAdd(long *args,int count);
//声明函数指针 返回值是一个long 然后还有两个参数一个是指针另外一个是int 这个函数指针可以指向任何有同样参数以及返回值的函数
long (*pFun)(long *args,int count);
int main()
{
//Power *power = new Power();
//cout<<"power cal resut"<<power->calPower(2,5);
//cout<<"计算某个数的平方"<<Power::calPingFang(2)<<endl;
//delete power;
//power =NULL;
//int value = 10;
//int result = Power::change_it(value);
//cout<<"计算 + 10的值"<<value<<"当前值:"<<result<<endl;
//int result = Power::change_it(&value);
//cout<<"计算 + 10的值"<<value<<"当前值:"<<result<<"静态变量的值:"<<1<<endl;
int result = add(1,2);
cout<<"当前的计算INT结果为:"<<result<<endl;
//可以指定模板类型 如以下的指定参数类型
cout<<"当前的计算float结果为:"<<add<float>(1.0,3.0)<<endl;
cout<<"当前的计算double结果为:"<<add<double>(1.0,3.0)<<endl;
long a = 30;
long b = 40;
cout<<"模板说明计算获得结果为:"<<add<long*>(&a,&b)<<endl;
//对于多个参数的指定类型或者是参数类型 也单个的是一样的
//可以只指定返回类型,因为参数类型,可以编译的时候匹配,不用指定
//add<int,double>(1.0,3.0);
system("pause");
return 0;
}
template <class T> T add(T a,T b){
return a+b;
}
//template<> long* add<long*>(long *a,long *b){
// return *a>*b?a:b;
//}
/*模板的重载*/
long* add<long*>(long *a,long *b){
return *a>*b?a:b;
}
- 浏览: 149199 次
- 性别:
- 来自: 上海
最新评论
-
oyhuang:
看不懂啊,这么多行
麻将胡牌逻辑 java -
墙头上一根草:
最近项目在上线 所以好久没上来了 这个确实是我研究不够透彻 ...
mybatis中不能出现小于号 -
Tyrion:
...不是说不支持“<”而是因为你用的是xml文件配置, ...
mybatis中不能出现小于号 -
add2ws:
小于和大于号和xml里的尖括号冲突,应该用<和& ...
mybatis中不能出现小于号 -
hellotieye:
楼主 mybatis 是可以使用小于号的 再好好学一下 没关系 ...
mybatis中不能出现小于号
相关推荐
函数指针的使用,主要用到typedef,其实现功能跟模板类差不多
├─函数指针模板 │ ├─FuncTemplate1 │ ├─FuncTemplate2 │ └─FuncTemplate3 └─模板学习 ├─初学模板(中1) ├─初学模板(中2) ├─初学模板(中3) ├─深学模板 1 ├─深学模板 2 ├─深学模板 3 ...
C++_虚函数表解析 C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这...
比如:模板技术,RTTI技术,虚函数技术,要么是试图做到在编译时决议,要么试图做到运行时决议。关于虚函数的使用方法,我在这里不做过多的阐述。大家可以看看相关的C++的书籍。在这篇文章中,我只想从虚函数的实现...
9函数指针 C++: C++_02_构造和析构 C++_03.6_继承和派生 C++_03.7_person类 C++_04.1_指针(冒泡排序) C++_05.1_多态(运算符重载) C++_06.2多线程(简单的) string、vector 图形设备(例) C++_06_3_多线程和...
C++模板专题 C++名称空间与作用域专题 C++类中的各种成员,嵌套类,友元,this指针专题 C++继承,虚函数与多态性专题 C++宏,预处理器,RTTI,typeid与强制类型转换专题 C++函数专题 C++构造函数,复制构造函数和析构函数...
循环链表的C++模板实现, template <class Type> class CircList { public: CircList ( Type value ); //构造函数 CircList ( Type value,CircListNode<Type> *point ):data(value),link(point){} ~CircList ...
自己完成的,简易的C到Lua简易封装库,取名LuaMe,利用了C++模板,只支持C语言的函数和结构体的封装。支持指针形式的数组访问,支持结构体封装,支持以结构体指针形式作为参数和返回值。支持一级指针。理论上支持多级...
C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。...
需要注意的是本DEMO需要提前在Call中声明回调函数的指针,返回值,参数以及它们的类型 2.另外一个tcFunctionTemplate是使用std::function模板和std::bind,支持全局和类成员函数作为回调函数,我在VS2010下编译通过
动态数组类模板Array C++ //数组类模板声明 template class Array { public: Array(int sz = 50); Array(const Array<T> &A); ~Array(void); Array<T>& operator = (const Array<T> &rhs;); //重载=,使数组...
华为 C++ 培训资料 经典 ...word讲解C++语言中级教材讲授C++语言的运用技术,包括:类、对象之间的关系、对象的存储与布局、运算符重载、智能指针、仿函数、泛型编程,C++模式设计基本思想。下载看吧
和可以⽤ make_shared() 模板函数初始化 shared_ptr 指针不同,C++11 标准中并没有为 unique_ptr 类型指针添 加类似的模板函数。 3) 基于 unique_ptr 类型指针不共享各⾃拥有的堆内存,因此 C++11 标准中的 unique_...
例如,C++程序员会认为指针的指针看起来很 古怪,他们会问:为什么不用指针的引用来代替呢? C 是一种简单的语言。它真正提供的只有有宏、指针、结构、数组和函数。 不管什么问题,C 都靠宏、指针、结构、数组和...
C++ 标准库有四种智能指针:auto_ptr,unique_ptr,shared_ptr,weak_ptr(auto_ptr 是 C++98 标准的,其余都是 C++11 标准推出的,auto_ptr 现在已经不再使⽤了),C++11 这三种智能指针都是类模板。 ⼆ ⼆. ...
实现函数包括单个数据的读写(pop_front、push_back)、可读可写空间大小的判断(read_space()、write_space())、段数据的读写(write_to_buffer()、read_from_buffer())、读写指针的调整、缓存空间大小的调整(resize)...
c++11智能指针解析——揭开底层⾯纱,完整理解智能指针 昨天跟同事⼩⼩的研究了下关于不同平台下的字节对齐问题,起因是遇到了⼀个坑,vs上没有问题,在安卓上却崩溃了。找了半天后发现是 c++字节补齐问题,期间包括...
智能指针相信大家听说过吧,我理解的智能指针,既是一个C++模板类,重载了指针操作符(->)和(*)操作符,而使它的实例可以"用指针的形式去调用"。 它可以接管任意类型的指针,所以你只需要放心大胆的new出任意对象...