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 ...
随机推荐
- 用 SDL2 在屏幕上打印文本
打印完图片,是时候打印文字了.这里引用了SDL的字体扩展库,SDL2_ttf.lib,需要包含相应的头文件. 环境:SDL2 + VC++2015 下面的代码将在窗口打印一段文字,并对相应的操作做出响 ...
- In-App Purchase Programming Guide----(五) ----Delivering Products
Delivering Products In the final part of the purchase process, your app waits for the App Store to p ...
- (二十四)权限控制(粗粒度)-通过filter
扩展:权限控制(粗粒度)-通过filter 过滤器编写步骤: 1.编写一个类 实现filter接口 重写方法 2.编写配置文件 <filter> <filter-mapping> ...
- 010-- 开发脚本自动部署nginx_web和nfs及监控内存
1.编写脚本自动部署反向代理.web.nfs: #!/bin/bash #检测安装nginx function detection_nginx(){ if [ -f /etc/nginx/nginx. ...
- 简析hotjar录屏功能实现原理
简析hotjar录屏功能实现原理 众所周知,hotjar中录屏功能是其重要的一个卖点,看着很牛X酷炫的样子,今天就简单的分析一下其可能实现(这里只根据其请求加上个人理解分析,并不代表hotjar中真实 ...
- nodejs实现百度实时推送
想要加快百度收录,肯定免不了链接提交吧,当然链接提交的方式有很多种,今天来说一下百度的实时推送.. 第一次看到这post请求确实有点萌逼,我自己是做前端的对后台接触确实不多,见到的前端发送post请求 ...
- python 子类调用父类成员的方法
1.直接写类名调用: parent_class.parent_attribute(self) class Animal(): def __init__(self, name): self.name = ...
- Codeforces732E Sockets
首先检测有木有和Computer匹配的Socket,如果有则将其匹配. 然后将所有没有匹配的Socket连上Adapter,再去检测有木有Computer与Socket匹配. 重复这个操作31次,所有 ...
- 分析spring aop的源码实现
AOP就是面向切面编程,我们可以从几个层面来实现AOP. 在编译器修改源代码,在运行期字节码加载前修改字节码或字节码加载后动态创建代理类的字节码,以下是各种实现机制的比较. spring AOP是Sp ...
- 日志系统:一条sql更新语句是如何执行的?--Mysql45讲笔记记录 打卡day2
下面是一个表的创建语句,这个表有一个主键id和一个整型字段c: create table t(id int primary key,c int); 如果要将 id = 2 这一行的值加 1,sql语句 ...