// template.cpp : 定义控制台应用程序的入口点。
#include "stdafx.h"
#include <iostream> #include <string>
#include <vector>
#include <algorithm> #include <ctime> // std::time
#include <cstdlib> // std::rand, std::srand
using namespace std; //类模板/////////////////////////////////////////////////
template<class T1,class T2>
class myClass{
  private:
    T1 I;
    T2 J;
  public:
    myClass(T1 a, T2 b);//Constructor
    void show();
    T1 Sums();
};
//这是构造函数 ,注意这些格式
template <typename T1,typename T2>
myClass<T1,T2>::myClass(T1 a,T2 b):I(a),J(b)
{}
//这是void show();
template <typename T1,typename T2>
void myClass<T1,T2>::show()
{
  cout<<"I="<<I<<", J="<<J<<endl;
}
//这是Sums函数
template <typename T1,typename T2>
T1 myClass<T1,T2>::Sums()
{
  return I;
}
//////////////////////////////////////////////////////// template<class A,class B>
class CTemplate
{
private:
  A aa;
  B bb;
public:
  CTemplate(A a, B b);
  void setdata(A n1,B n2);
  A getdataA();
  B getdataB();
};
template<typename A,typename B>
CTemplate<A,B>::CTemplate(A a, B b):aa(a),bb(b)
{}
template<typename A,typename B>
void CTemplate<A,B>::setdata(A n1,B n2)
{
  aa = n1;
  bb = n2;
}
template<typename A,typename B>
A CTemplate<A,B>::getdataA()
{
  cout<<"aa:"<<aa<<" "<<endl;
  return aa;
};
template<typename A,typename B>
B CTemplate<A,B>::getdataB()
{
  cout<<"bb:"<<bb<<" "<<endl;
  return bb;
};
//函数模板//////////////////////////////////////////////
template <typename T1, typename T2>
void FunctionTemplate(T1 a, T2 b)
{
  cout<<"a:"<<a<<" "<<"b:"<<b<<endl;
}
////////////////////////////////////////////////////////
}int _tmain(int argc, _TCHAR* argv[])
{
  myClass<int,int> class1(,);
  class1.show();   myClass<int,char> class2(,'a');
  class2.show();   myClass<double,int> class3(2.9,);
  class3.show();   myClass<float,float> class4(3.1,2.5);
  float ff=class4.Sums();
  cout<<"ff:"<<ff<<endl;
  ///////////////////////////////////////////////////
  CTemplate<int, int> o_Tmeplate1(,);
  //o_Tmeplate1.setdata(3,4);
  o_Tmeplate1.getdataA();
  o_Tmeplate1.getdataB();   CTemplate<float,float> o_Tmeplate2(2.003,3.001);
  o_Tmeplate2.getdataA();
  o_Tmeplate2.getdataB();   ///////////////////////////////////////////////////
  int a = ;
  int b = ;
  FunctionTemplate(a,b);   double d =3.3 ;
  double c = 5.5;
  FunctionTemplate(d,c);
  ///////////////////////////////////////////////////   system("PAUSE");
  return ;
}

CPP-基础:模板的更多相关文章

  1. new 经典基础模板总结

    NOIP-NOI-ZJOI基础模板总结 目录 C++语言和STL库操作 重载运算符操作 /* 重载运算符 格式 如重载小于号 这里是以x递减为第一关键字比较,y递减为第二关键字比较 */ bool o ...

  2. CPP基础

    CPP基础1. 如果没有指明访问限定符(public,private),class中默认的private,而struct中的成员默认是public的. #include <iostream> ...

  3. Bootstrap 4/3 页面基础模板 与 兼容旧版本浏览器

    Bootstrap 3 与 4 差别很大,目录文件结构.所引入的内容也不同,这里说说一下 Bootstrap 引入的文件.网页模板和兼容性问题.本网站刚刚搭建好,正好发一下文章原来测试网站. Boot ...

  4. Hadoop程序基础模板

    分布式编程相对复杂,而Hadoop本身蒙上大数据.云计算等各种面纱,让很多初学者望而却步.可事实上,Hadoop是一个很易用的分布式编程框架,经过良好封装屏蔽了很多分布式环境下的复杂问题,因此,对普通 ...

  5. 【转】手摸手,带你用vue撸后台 系列四(vueAdmin 一个极简的后台基础模板)

    前言 做这个 vueAdmin-template 的主要原因是: vue-element-admin 这个项目的初衷是一个vue的管理后台集成方案,把平时用到的一些组件或者经验分享给大家,同时它也在不 ...

  6. 树状数组(二叉索引树 BIT Fenwick树) *【一维基础模板】(查询区间和+修改更新)

    刘汝佳:<训练指南>Page(194) #include <stdio.h> #include <string.h> #include <stdlib.h&g ...

  7. jsp基础模板

    jsp页面基础模板 base.jsp <%@ page language="java" contentType="text/html; charset=UTF-8& ...

  8. vue-cli3 搭建的前端项目基础模板

    基于 vue-cli3 搭建的前端模板,fork 或 clone 本仓库,即可搭建完成一个新项目的基础模板,源码地址,欢迎 star 或 fork 特性 CSS 预编译语言:less Ajax: ax ...

  9. NOIP经典基础模板总结

    date: 20180820 spj: 距离NOIP还有81天 目录 STL模板: priority_queue 的用法:重载<,struct cmpqueue 的用法 stack 的用法vec ...

  10. Django学习之 - 基础模板语言

    模板语言if/else/endif {% if today_is_weekend %} <p>Welcome to the weekend!</p> {% else %} &l ...

随机推荐

  1. 未能加载文件或程序集“Microsoft.ReportViewer.WebForms, Version=9.0.0.0, Culture=neutral, PublicKeyT

    VS2008开发的网站,本地测试没问题,上传到服务器就出错,提示: 引用内容未能加载文件或程序集“Microsoft.ReportViewer.WebForms, Version=9.0.0.0, C ...

  2. 微信公众号开发及时获取当前用户Openid及注意事项

    目录 (一)微信公众号开发之VS远程调试 (二)微信公众号开发之基础梳理 (三)微信公众号开发之自动消息回复和自定义菜单 (四)微信公众号开发之网页授权获取用户基本信息 (五)微信公众号开发之网页中及 ...

  3. 【WIP】MVVM

    创建: 2018/04/05 懒得写了

  4. IOS高级开发~Runtime(二)

    #import <Foundation/Foundation.h> @interface CustomClass : NSObject { NSString *varTest1; NSSt ...

  5. Windows 下openssl安装与配置

    编译thirift失败 网上方法很多,大部分是针对32位机的,自己的电脑因为是win7,64位,摸索了很久才安装成功. 环境 WIN7, 64位, vs2005 下载ActivePerl 配置过程中需 ...

  6. Moctf--Pubg题目

    假期举办的一场比赛,开始的题目比较基础,misc神马的都还好说,就是web有些坑了,比如我今天要写的这一道题目.不过大佬说很简单..不过最后我还是解出来了,把思路放在这里. 打开之后得到这个页面,在网 ...

  7. 鸟哥私房菜基础篇:Linux 的档案权限与目录配置习题

    猫宁!!! 参考链接:http://linux.vbird.org/linux_basic/0210filepermission.php 鸟哥是为中国信息技术发展做出巨大贡献的人. 1-早期的 Uni ...

  8. eclipse中alt+/的作用

    一般情况下alt+/有代码提示作用,还有代码提示的快捷代码也不是alt+/,因此要恢复代码提示用alt+/.需要做两件事.在 Window - Preferences - General - Keys ...

  9. IE下png图片黑边问题

    png图片在ie8下有黑色边框的情况想必大家都有遇到过吧,那么该怎么解决呢?其实很简单,下面的方法或许对大家有所帮助 background-image:url(******.png)!importan ...

  10. Asp.net MVC + Vue.js

    @{ Layout = null; } <!DOCTYPE html><html> <head> <meta charset="UTF-8" ...