1 //第一种方式被注释
2 //未被注释是第二种方式
3 //类模板分文件编写问题及解决
4
5
6 #include <iostream>
7 #include <string>
8 #include<fstream>
9 //第一中解决方式 直接包含源文件
10 //#include"person.cpp"
11
12
13 //第二种解决方法 将.h 和 cpp的内容写到一起,将后缀改为.hpp文件
14
15 #include"person.hpp"
16
17
18 using namespace std;
19 //
20 //template<class T1,class T2>
21 //class Person
22 //{
23 //public:
24 // Person(T1 name,T2 age);
25 //
26 // void showPerson();
27 //
28 // T1 m_Name;
29 // T2 m_Age;
30 //};
31
32 //template<class T1,class T2>
33 //Person<T1, T2>::Person(T1 name, T2 age)
34 //{
35 // this->m_Name = name;
36 // this->m_Age = age;
37 //}
38 //
39 //template<class T1, class T2>
40 //void Person<T1, T2>::showPerson()
41 //{
42 // cout << "name= " << this->m_Name << " 年龄:" << this->m_Age << endl;
43 //}
44 //
45 void test01()
46 {
47 Person<string, int>p("Jerry", 52);
48 p.showPerson();
49 }
50 int main()
51 {
52
53 test01();
54
55
56 system("pause");
57
58 return 0;
59
60 }
 1 person.hpp
2
3 #pragma once
4 #include <iostream>
5 using namespace std;
6
7 #include <string>
8 #include<fstream>
9
10
11 template<class T1, class T2>
12 class Person
13 {
14 public:
15 Person(T1 name, T2 age);
16
17 void showPerson();
18
19 T1 m_Name;
20 T2 m_Age;
21 };
22 template<class T1, class T2>
23 Person<T1, T2>::Person(T1 name, T2 age)
24 {
25 this->m_Name = name;
26 this->m_Age = age;
27 }
28
29 template<class T1, class T2>
30 void Person<T1, T2>::showPerson()
31 {
32 cout << "name= " << this->m_Name << " 年龄:" << this->m_Age << endl;
33 }
 1 person.cpp
2
3 //#include "person.h"
4 //
5 //
6 //template<class T1, class T2>
7 //Person<T1, T2>::Person(T1 name, T2 age)
8 //{
9 // this->m_Name = name;
10 // this->m_Age = age;
11 //}
12 //
13 //template<class T1, class T2>
14 //void Person<T1, T2>::showPerson()
15 //{
16 // cout << "name= " << this->m_Name << " 年龄:" << this->m_Age << endl;
17 //}

C++ //类模板分文件编写问题及解决 //第一中解决方式 直接包含源文件 //第二种解决方法 将.h 和 cpp的内容写到一起,将后缀改为.hpp文件的更多相关文章

  1. c++类模板分文件编写存在的问题

    c++分文件编写的编译机制: 各个文件独立编译,如果在某.cpp文件中出现了函数调用,但是在此.cpp文件并没有对应函数的实现.此时就会在函数调用出生成特定的符号,在之后的链接过程完成函数调用. C+ ...

  2. 向JSP中静态导入HTML文件时,运行jsp时,html中中文产生乱码问题最简单的解决方法

    在保证其他的编码格式一致的情况下 在html标签内,head标签外添加一下代码时可以完美解决 亲测 <%@page pageEncoding="UTF-8"%>

  3. 【C++ 泛型编程01:模板】函数模板与类模板

    [模板] 除了OOP外,C++另一种编程思想称为 泛型编程 ,主要利用的技术就是模板 C++提供两种模板机制:函数模板和类模板 函数模板 函数模板作用 建立一个通用函数,其函数返回值类型和形参类型可以 ...

  4. Pdf File Writer 中文应用(PDF文件编写器C#类库)

    该文由小居工作室(QQ:2482052910)    翻译并提供解答支持,原文地址:Pdf File Writer 中文应用(PDF文件编写器C#类库):http://www.cnblogs.com/ ...

  5. C++函数模板&类模板

    函数模板 模板概念及语法 主要目的,简化代码,减少重复代码.基本语法格式:  template<class T> 或者 template<typename T> //末尾不加分 ...

  6. C++解析(26):函数模板与类模板

    0.目录 1.函数模板 1.1 函数模板与泛型编程 1.2 多参数函数模板 1.3 函数重载遇上函数模板 2.类模板 2.1 类模板 2.2 多参数类模板与特化 2.3 特化的深度分析 3.小结 1. ...

  7. C++类模板和模板类

    C++ 中有一个重要特性,那就是模板类型.类似于Objective-C中的泛型.C++通过类模板来实现泛型支持. 1 基础的类模板 类模板,可以定义相同的操作,拥有不同数据类型的成员属性. 通常使用t ...

  8. 【校招面试 之 C/C++】第2题 函数模板、类模板、特化、偏特化

    1.C++模板 说到C++模板特化与偏特化,就不得不简要的先说说C++中的模板.我们都知道,强类型的程序设计迫使我们为逻辑结构相同而具体数据类型不同的对象编写模式一致的代码,而无法抽取其中的共性,这样 ...

  9. 【C++】C++中的类模板

    基础的类模板 模板类的继承 内部声明定义普通模板函数和友元模板函数 内部声明友元模板函数+外部定义友元模板函数 声明和定义分别在不同的文件(模板函数.模板友元) C++中有一个重要特性,那就是模板类型 ...

  10. C++ 函数模板&类模板详解

    在 C++ 中,模板分为函数模板和类模板两种.函数模板是用于生成函数的,类模板则是用于生成类的. 函数模板&模板函数     类模板&模板类  必须区分概念 函数模板是模板,模板函数时 ...

随机推荐

  1. [LeetCode刷题记录]39 组合总和

    题目描述 给定一个无重复元素的数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合.candidates 中的数字可以无限制 ...

  2. TienChin 渠道管理-添加渠道

    在我们平时新建一个全新的 Java 类,这个类需要存放的包不存在,可以使用如下的方式进行创建: 含义就是说,将 ChannelVO 这个类放在 vo 这个包当中,如果存在则不创建,存在就将新建的类放入 ...

  3. 年末将至,Java 开发者必须了解的 16 个Java 顶级开源项目!

    年末将至,值得你关注的16个Java 开源项目! 本文已经收录自笔者开源的 JavaGuide: https://github.com/Snailclimb/JavaGuide ([Java学习+面试 ...

  4. delphi中 注意一点,record 类型 参数默认是 值拷贝,class 参数 默认是传地址;值传递,指针传递、引用传递

    作为函数的入参,若是record类型,默认是值拷贝,效率低,若要传指针,需要加 var ; 作为函数的入参,若是 class类型,默认是传地址,不需要加var unit Unit1; interfac ...

  5. .NET Core开发实战(第12课:配置变更监听)--学习笔记

    12 | 配置变更监听:配置热更新能力的核心 这一节讲解如何使用代码来监视配置变化并做出一些动作 当我们需要追踪配置发生的变化,可以在变化发生时执行一些特定的操作 配置主要提供了一个 GetReloa ...

  6. 顺着这份Java面试地图,国内一二线互联网公司随便进...

    原创:陶朱公Boy(微信公众号ID:taozhugongboy),欢迎分享,转载请保留出处. 前言 临近春节,这几天手头没什么事情,花了点时间,将自己近两年收集的面试真题,进行了一番深度归纳总结,整理 ...

  7. CF-926(已更新:B)

    CF-926 两点睡,七点起,阎王夸我好身体-- 主要这场实在是难绷,两个小时都在C题上吊死了,也不是没想过跳题,只是后面的题我更是一点思路都没有-^- "就喜欢这种被揭穿的感觉,爽!&qu ...

  8. 从零开始的react入门教程(四),了解常用的条件渲染、列表渲染与独一无二的key

    壹 ❀ 引 在从零开始的react入门教程(三),了解react事件与使用注意项一文中,我们了解了react中事件命名规则,绑定事件时对于this的处理,以及事件中可使用的e对象.那么这篇文章中我们来 ...

  9. JS leetcode 翻转字符串里的单词 题解分析

    壹 ❀ 引 今天来做一道难度中等,但实际难度并不是很高的题目,题目来源leetcode151. 翻转字符串里的单词,题目描述如下: 给定一个字符串,逐个翻转字符串中的每个单词. 示例 1: 输入: & ...

  10. od命令

    od命令 od命令会读取所指定的文件的内容,并将其内容以八进制字节码呈现出来. 语法 od [OPTION]... [FILE]... od [-abcdfilosx]... [FILE] [[+]O ...