C++ 模板练习1
//特定的模板友元关系
#include "stdafx.h"
#include <iostream>
using namespace std; template<class T>class MyClass1;
template<class T>T Get( const T&); template<class T>
class MyClass
{
public:
MyClass(){};
~MyClass(){};
friend class MyClass1<int>;
friend int Get<int>( const int&); private:
static T a;
};
int MyClass<int>::a = 10; template<class T>
class MyClass1
{
public:
MyClass1();
~MyClass1();
T Get();
private:
}; template<>
MyClass1<int>::MyClass1()
{
} template<>
MyClass1<int>::~MyClass1()
{
} template<>
int MyClass1<int>::Get()
{
MyClass<int> (mc);
return mc.a;
} template<class T>
int Get( const int&nNum)
{
MyClass<int> (mc);
return mc.a + nNum;
} int _tmain(int argc, _TCHAR* argv[])
{
int n = Get<int>(123);
cout<<n<<endl; MyClass1<int>(mc1);
n = mc1.Get();
cout<<n<<endl;
return 0;
} //
#include "stdafx.h"
#include <iostream>
using namespace std; template<class T>class MyClass1;
template<class T>T Get(const T&); template<class T>
class MyClass
{
public:
MyClass();
~MyClass();
friend class MyClass1<int>;
friend T Get<>(const T&); private:
const static int i = 10;
}; MyClass<int>::MyClass()
{
} MyClass<int>::~MyClass()
{
} template<class T>
int Get<>(const int &a)
{
MyClass<int> (mc);
return a + mc.i;
} template<class T>
class MyClass1
{
public:
MyClass1();
~MyClass1();
int Get();
private: }; MyClass1<int>::MyClass1()
{
} MyClass1<int>::~MyClass1()
{
} int MyClass1<int>::Get()
{
MyClass<int>(mc);
return mc.i;
} int _tmain(int argc, _TCHAR* argv[])
{
int n = Get<int>(123);
cout<<n<<endl; MyClass1<int>(mc);
n = mc.Get();
cout<<n<<endl;
return 0;
}
版权声明:本文为博主原创文章,未经博主允许不得转载。
C++ 模板练习1的更多相关文章
- Jade模板引擎让你飞
写在前面:现在jade改名成pug了 一.安装 npm install jade 二.基本使用 1.简单使用 p hello jade! 渲染后: <p>hello jade!</p ...
- ABP入门系列(2)——通过模板创建MAP版本项目
一.从官网创建模板项目 进入官网下载模板项目 依次按下图选择: 输入验证码开始下载 下载提示: 二.启动项目 使用VS2015打开项目,还原Nuget包: 设置以Web结尾的项目,设置为启动项目: 打 ...
- CMS模板应用调研问卷
截止目前,已经有数十家网站与我们合作,进行了MIP化改造,在搜索结果页也能看到"闪电标"的出现.除了改造方面的问题,MIP项目组被问到最多的就是:我用了wordpress,我用了织 ...
- PHP-自定义模板-学习笔记
1. 开始 这几天,看了李炎恢老师的<PHP第二季度视频>中的“章节7:创建TPL自定义模板”,做一个学习笔记,通过绘制架构图.UML类图和思维导图,来对加深理解. 2. 整体架构图 ...
- 【原创分享·微信支付】C# MVC 微信支付之微信模板消息推送
微信支付之微信模板消息推送 今天我要跟大家分享的是“模板消息”的推送,这玩意呢,你说用途嘛,那还是真真的牛逼呐.原因在哪?就是因为它是依赖微信生存的呀,所以他能不 ...
- OpenCV模板匹配算法详解
1 理论介绍 模板匹配是在一幅图像中寻找一个特定目标的方法之一,这种方法的原理非常简单,遍历图像中的每一个可能的位置,比较各处与模板是否“相似”,当相似度足够高时,就认为找到了我们的目标.OpenCV ...
- 前端MVC学习总结(一)——MVC概要与angular概要、模板与数据绑定
一.前端MVC概要 1.1.库与框架的区别 框架是一个软件的半成品,在全局范围内给了大的约束.库是工具,在单点上给我们提供功能.框架是依赖库的.AngularJS是框架而jQuery则是库. 1.2. ...
- ThinkPHP+Smarty模板中截取包含中英文混合的字符串乱码的解决方案
好几天没写博客了,其实有好多需要总结的,因为最近一直在忙着做项目,但是困惑了几天的Smarty模板中截取包含中英文混合的字符串乱码的问题,终于解决了,所以记录下来,需要的朋友看一下: 出现乱码的原因: ...
- ThinkPHP 模板substr的截取字符串函数
ThinkPHP 模板substr的截取字符串函数在Common/function.php加上以下代码 /** ** 截取中文字符串 **/ function msubstr($str, $start ...
- DDD领域驱动设计 - 设计文档模板
设计文档模板: 系统背景和定位 业务需求描述 系统用例图 关键业务流程图 领域语言整理,主要是整理领域中的各种术语的定义,名词解释 领域划分(分析出子域.核心域.支撑域) 每个子域的领域模型设计(实体 ...
随机推荐
- 浅谈JVM线程调度机制及主要策略
在之前有说过线程,应该都知道,所谓线程就是进程中的一个子任务,一个进程有多个线程.今天的话主要就是谈一谈JVM线程调度机制.我们结合线程来说,当我们在做多线程的案例时,如一个经典案例,火车站卖票. * ...
- 使用Spring Data JPA的Spring Boot
本文教你开始使用Spring Data JPA.来自优锐课JAVA架构专业讲师精心整理. 欢迎使用带有Spring Data JPA的Spring Boot教程!在本教程中,我们将看到Spring D ...
- react 如何引入打印控件 CLodop
下载插件,官网地址 http://www.lodop.net/download.html ,选择综合版,解压下载的文件.直接点击 安装,很简单,就不一一说明了. 复制下面几个文件,到react项目中 ...
- c++程序—选择结构
if(判断条件){执行语句} #include<iostream> using namespace std; #include<string> int main() { ; c ...
- tab选项卡,不带自动切换定时器
<!DOCTYPE html> <html> <head> <meta http-equiv="content-type" content ...
- 小技巧:使用命令行打开vscode 以及 sublime 工具
vscode手动打开vscode command + shift + p 打开命令面板(或者点击菜单栏 查看>命令面板)输入 shell 选择 install code command in P ...
- sqlite if not exists应用实例
INSERT or replace INTO [main].[RecordInfo]([WorkID],[bArtificialAttendance],[fThreshold],[Attendance ...
- postman带上token对接口进行测试
根据验证码进行登陆,登录之后返回token.然后请求其他接口时在header头中带上token访问其他接口进行测试 账户信息输入验证码 登陆成功,看到返回的token 我们这个项目可以刷新一下toke ...
- Git TortoiseGit github 操作
由于公司采用了分布式架构,选择的是gitlab git 来管理代码等工作,鉴于github和gitlab的相似性,网上查看好多都是用git的命令上传,或者是一部分,为此,借鉴多方网络,并进行实际操作, ...
- Percona-Toolkit 之 pt-kill 低效SQL
[root@ tools]#vi ptkill_master.confuser=rootpassword=asd.123port=3306busy-time=5printkill /u01/soft/ ...