//特定的模板友元关系
#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的更多相关文章

  1. Jade模板引擎让你飞

    写在前面:现在jade改名成pug了 一.安装 npm install jade 二.基本使用 1.简单使用 p hello jade! 渲染后: <p>hello jade!</p ...

  2. ABP入门系列(2)——通过模板创建MAP版本项目

    一.从官网创建模板项目 进入官网下载模板项目 依次按下图选择: 输入验证码开始下载 下载提示: 二.启动项目 使用VS2015打开项目,还原Nuget包: 设置以Web结尾的项目,设置为启动项目: 打 ...

  3. CMS模板应用调研问卷

    截止目前,已经有数十家网站与我们合作,进行了MIP化改造,在搜索结果页也能看到"闪电标"的出现.除了改造方面的问题,MIP项目组被问到最多的就是:我用了wordpress,我用了织 ...

  4. PHP-自定义模板-学习笔记

    1.  开始 这几天,看了李炎恢老师的<PHP第二季度视频>中的“章节7:创建TPL自定义模板”,做一个学习笔记,通过绘制架构图.UML类图和思维导图,来对加深理解. 2.  整体架构图 ...

  5. 【原创分享·微信支付】C# MVC 微信支付之微信模板消息推送

    微信支付之微信模板消息推送                    今天我要跟大家分享的是“模板消息”的推送,这玩意呢,你说用途嘛,那还是真真的牛逼呐.原因在哪?就是因为它是依赖微信生存的呀,所以他能不 ...

  6. OpenCV模板匹配算法详解

    1 理论介绍 模板匹配是在一幅图像中寻找一个特定目标的方法之一,这种方法的原理非常简单,遍历图像中的每一个可能的位置,比较各处与模板是否“相似”,当相似度足够高时,就认为找到了我们的目标.OpenCV ...

  7. 前端MVC学习总结(一)——MVC概要与angular概要、模板与数据绑定

    一.前端MVC概要 1.1.库与框架的区别 框架是一个软件的半成品,在全局范围内给了大的约束.库是工具,在单点上给我们提供功能.框架是依赖库的.AngularJS是框架而jQuery则是库. 1.2. ...

  8. ThinkPHP+Smarty模板中截取包含中英文混合的字符串乱码的解决方案

    好几天没写博客了,其实有好多需要总结的,因为最近一直在忙着做项目,但是困惑了几天的Smarty模板中截取包含中英文混合的字符串乱码的问题,终于解决了,所以记录下来,需要的朋友看一下: 出现乱码的原因: ...

  9. ThinkPHP 模板substr的截取字符串函数

    ThinkPHP 模板substr的截取字符串函数在Common/function.php加上以下代码 /** ** 截取中文字符串 **/ function msubstr($str, $start ...

  10. DDD领域驱动设计 - 设计文档模板

    设计文档模板: 系统背景和定位 业务需求描述 系统用例图 关键业务流程图 领域语言整理,主要是整理领域中的各种术语的定义,名词解释 领域划分(分析出子域.核心域.支撑域) 每个子域的领域模型设计(实体 ...

随机推荐

  1. Windows 运行chkdsk磁盘修复工具命令参数详解

    chkdsk是Windows系统自带的磁盘修复工具,通常在电脑非正常关机之后再开机,系统就会自动调用chkdsk工具进行磁盘扫描和修复.同时,我们也可以在Windows系统中打开命令提示符,手动运行c ...

  2. stm32串口收发导致的死机

    stm32串口收发导致的死机 很久以前有偶尔遇到过串口死机的情况,那是当时的我写出来的代码自己都觉得有问题,也就没注意.用了stm32做项目以后也就没遇到过了,今天做了个高压测试,每5ms定时发送一次 ...

  3. R Akaike information criterion,AIC,一个越小越好的指标

    Akaike information criterion,AIC是什么?一个用来筛选模型的指标.AIC越小模型越好,通常选择AIC最小的模型.第一句话好记,第二句话就呵呵了,小编有时候就会迷惑AIC越 ...

  4. Day6 - B - 采花 HYSBZ - 2743

    萧芸斓是Z国的公主,平时的一大爱好是采花.今天天气晴朗,阳光明媚,公主清晨便去了皇宫中新建的花园采花 .花园足够大,容纳了n朵花,花有c种颜色(用整数1-c表示),且花是排成一排的,以便于公主采花.公 ...

  5. linux 下office软件推荐

    概述 最近想使用LINUX下搭建服务器,所以查找一些需要用的软件. linux下最好的office解决办法 其实因为我是不怎么使用office的,我也不知道不同office有什么不一样,直到有一次写奖 ...

  6. 002、创建第一个Java程序HelloWord

    代码如下: package TIANPAN; public class TestDemo { public static void main(String args[]) { System.out.p ...

  7. 014-查看PHP的环境变量

    <?php print("你正在用文件的名字为: "); print(__FILE__); print(" <BR>\n"); print(& ...

  8. ubuntu---NVIDIA驱动 + CUDA 安装完可能会遇见的问题

    如果稍不注意:系统内核.GCC.下载的版本不对应.安装过程中选项选择不正确,在NVIDIA驱动 + CUDA 安装完后可能会遇见一些问题. 一.登陆不进桌面 可能的操作: (1)nivida驱动安装完 ...

  9. Spring加载Properties配置文件的三种方式

    一.通过 context:property-placeholder 标签实现配置文件加载 1) 用法: 1.在spring.xml配置文件中添加标签 <context:property-plac ...

  10. 我为NET狂官方面试题-数据库篇答案(转)

    题目:http://www.cnblogs.com/dunitian/p/6028838.html 汇总:http://www.cnblogs.com/dunitian/p/5977425.html ...