CPP-基础:模板
// 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-基础:模板的更多相关文章
- new 经典基础模板总结
NOIP-NOI-ZJOI基础模板总结 目录 C++语言和STL库操作 重载运算符操作 /* 重载运算符 格式 如重载小于号 这里是以x递减为第一关键字比较,y递减为第二关键字比较 */ bool o ...
- CPP基础
CPP基础1. 如果没有指明访问限定符(public,private),class中默认的private,而struct中的成员默认是public的. #include <iostream> ...
- Bootstrap 4/3 页面基础模板 与 兼容旧版本浏览器
Bootstrap 3 与 4 差别很大,目录文件结构.所引入的内容也不同,这里说说一下 Bootstrap 引入的文件.网页模板和兼容性问题.本网站刚刚搭建好,正好发一下文章原来测试网站. Boot ...
- Hadoop程序基础模板
分布式编程相对复杂,而Hadoop本身蒙上大数据.云计算等各种面纱,让很多初学者望而却步.可事实上,Hadoop是一个很易用的分布式编程框架,经过良好封装屏蔽了很多分布式环境下的复杂问题,因此,对普通 ...
- 【转】手摸手,带你用vue撸后台 系列四(vueAdmin 一个极简的后台基础模板)
前言 做这个 vueAdmin-template 的主要原因是: vue-element-admin 这个项目的初衷是一个vue的管理后台集成方案,把平时用到的一些组件或者经验分享给大家,同时它也在不 ...
- 树状数组(二叉索引树 BIT Fenwick树) *【一维基础模板】(查询区间和+修改更新)
刘汝佳:<训练指南>Page(194) #include <stdio.h> #include <string.h> #include <stdlib.h&g ...
- jsp基础模板
jsp页面基础模板 base.jsp <%@ page language="java" contentType="text/html; charset=UTF-8& ...
- vue-cli3 搭建的前端项目基础模板
基于 vue-cli3 搭建的前端模板,fork 或 clone 本仓库,即可搭建完成一个新项目的基础模板,源码地址,欢迎 star 或 fork 特性 CSS 预编译语言:less Ajax: ax ...
- NOIP经典基础模板总结
date: 20180820 spj: 距离NOIP还有81天 目录 STL模板: priority_queue 的用法:重载<,struct cmpqueue 的用法 stack 的用法vec ...
- Django学习之 - 基础模板语言
模板语言if/else/endif {% if today_is_weekend %} <p>Welcome to the weekend!</p> {% else %} &l ...
随机推荐
- flex兼容新
/* 子元素-平均分栏 */.flex1 { -webkit-box-flex: 1; /* OLD - iOS 6-, Safari 3.1-6 */ -moz-box-flex: 1; /* OL ...
- B - Soldier and Badges
Time Limit:3000MS Memory Limit:262144KB 64bit IO Format:%I64d & %I64u Description Colone ...
- Python网络爬虫之BeautifulSoup模块
一.介绍: Beautiful Soup 是一个可以从HTML或XML文件中提取数据的Python库.它能够通过你喜欢的转换器实现惯用的文档导航,查找,修改文档的方式.Beautiful Soup会帮 ...
- adb logcat 查看日志 (转载)
转自:http://blog.csdn.net/xyz_lmn/article/details/7004710 使用 logcat 命令 查看和跟踪系统日志缓冲区的命令logcat的一般用法是: [a ...
- CF487E Tourists【圆方树+tarjan+multiset+树剖+线段树】
圆方树不仅能解决仙人掌问题(虽然我仙人掌问题也没用过圆方树都是瞎搞过去的),还可以解决一般图的问题 一般图问题在于缩完环不是一棵树,所以就缩点双(包括双向边) 每个方点存他所在点双内除根以外的点的最小 ...
- springcloud(一) 服务拆分
一般我们的项目如果需要从单应用服务升级到微服务,必须要将原来的服务做拆分,我这边的拆分也是基于将之前spb-demo的springboot单应用做拆分,拆分出三个应用,spb-brian-query- ...
- Mac下怎么运行python3的py文件
我的Mac现在是10.14.6系统,默认自带的python版本是2.7.(怎么查看版本?打开终端,输入python即可看到版本号) 由于现在需要运行python3写的py文件,需要将自带的python ...
- iOS 获取当前响应链的First Responder (Swift)
import UIKit private weak var currentFirstResponder: AnyObject? extension UIResponder { static func ...
- linux下实现多台服务器同步文件(inotify-tools+rsync实时同步文件安装和配置)
inotify-tools+rsync实时同步文件安装和配置 注:转载https://www.linuxidc.com/Linux/2012-06/63624.htm
- 基于node 搭建http2服务
1.准备工作:安装node2.安装http2: npm install http2 -g安装完成后,在安装目录中appData/Roaming>npm>node_modules>ht ...