`

C++函数模板

    博客分类:
  • C++
阅读更多
#include<iostream.h>
#include<string.h>
class string{
private :
char * str;
public :
string(){
str = new char[];
}
string(char * ch){
str = new char[strlen(ch) + 1];
strcpy(str, ch);
}
void display();
~string(){
delete this->str;
}
};
void string :: display(){
cout << "class string's member str'value is " << this->str << endl;
}
调用方式一:
template <class T>
void print(T t){
t->display();
}
int main(){
string s1("tester");
print(&s1);
return 0;
}
调用方式二:
template <class T>
void print(T &t){
t.display();
}
int main(){
string s1("tester");
print(s1);
return 0;
}
调用方式三:
template <class T>
void print(T t){
t.display();
}
int main(){
string s1("tester");
print(s1);
return 0;
}
分析:
调用方式三运行时会出错,原因在于方式三是值传递调用,当调用print方法时会首先调用string(char * ch)实例化一个string对象,即t和s1是两个不同的string对象;方式二和方式一是引用传递,因此t和s1是同一个string对象,方式一传递的是指针,方式二传递的是引用;函数模板在使用时,class后面的类型参数必须实例化
分享到:
评论

相关推荐

    c++函数模板使用

    谭浩强老师c++课本函数模板例题,c++函数模板使用,供大家学习使用。

    c++函数模板

    其中,template为关键字,表示定义一个模板(可以是函数模板或类模板),尖括号表示模板参数,模板类型参数使用关键字class或typename开始,其后是一个用户定义的合法的标识符。 如果用户在调用函数模板时显式标识...

    C++函数模板的详细解释

    资源是一个关于C++函数模板问题及解决办法的笔记式文档,非本人的笔记,是我看着不错就转过来了

    C++函数模板详解应用

    经常有碰到函数模块的应用,很多书上也只是略有小讲一下,今天又狂碰到函数模块,无奈特地找来C++编程经典&lt;&lt;C++ Primer&gt;&gt;翻阅一遍,终于有所全面了解

    c++函数模板的运用案例

    c++函数模板的运用案例

    冒泡排序算法的C++函数模板

    冒泡排序算法的C++函数模板,适用于多种数据类型,如int,float,double等

    C++函数重载例子解析

    C++函数重载的例子解析,C++函数模板重载

    c++函数模板解释.md

    c++函数模板解释.md

    C++函数模板与类模板实例解析

    本文针对C++函数模板与类模板进行了较为详尽的实例解析,有助于帮助读者加深对C++函数模板与类模板的理解。具体内容如下: 泛型编程(Generic Programming)是一种编程范式,通过将类型参数化来实现在同一份代码上...

    c++函数模板和类模板计实验报告

    练习 C++中函数模板、类模板的创建和使用方法。 (1) 理解模板的作用。 (2) 学习函数模板及其声明方法,掌握模板函数及其生成方法。 (3) 学习函数模板的两种不同的实例化方法。 (4) 学习类模板的声明与使用方法。

    C++函数模板及实现原理

    描述C++的模板类,介绍使用方式,对于初学者来说是比不可少的学习资源

    C++函数模板的主函数

    模板,函数 ,两数 ,大小, C++ ,程序, 比较大小, 程序源码 ,主函数, cpp

    C++——函数模板.txt

    函数模板 建立一个通用的函数,函数类型和形参不具体指定,用一个虚拟的类型代表。 只要是函数体是相同的就可以用这个模板代替。 (只适用于函数的参数个数相同而类型不同,且函数体一致的情况,如果参数个数不同,则...

    C++ 函数模板示例 C++ Builder代码演示

    编译环境: Windows 7 Service Pack 1 C++ Builder 代码参考: 余文溪的《C++ STL --数据结构与算法实现》原书代码为控制台。 这里用 C++ Builder代码演示

    C++定义函数模板代码,可以编写通用的函数来处理多种类型的容器

    C++函数模板是一种通用的代码结构,可以用于创建可以处理多种数据类型的函数。函数模板通过参数化类型来实现代码的重用和泛化。 代码中,我们定义了一个函数模板 findMax(),用于在给定的容器中查找最大值。该函数...

    详解C++函数模板与分离编译模式

    1.分离编译模式 ...下面的程序由三个文件组成:func.h用来对函数模板进行申明,func.cpp用来定义函数模板,main.cpp包含func.h头文件并调用相应的函数模板。 /***func.h***/ template&lt;class&gt; void

    C++模板(包括函数模板和类模板)

    模板可以实现逻辑相同、数据类型不同的程序代码的复制,利用模板机制,程序具备更好的代码重用性能,可以减轻编程和维护的工作量和难度。

Global site tag (gtag.js) - Google Analytics