C++ 类模板对象传参方式
生活随笔
收集整理的這篇文章主要介紹了
C++ 类模板对象传参方式
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
#include <iostream>
#include <string>
using namespace std;/************************************************************************/
/* 類模板對象作為函數參數
1.指定傳入的類型-顯示指定對象的數據類型
2.參數模板化-將類對象中的參數作為模板進行傳遞
3.整個類模板化-將對象類型模板化進行傳遞
/************************************************************************/
template <class T1, class T2>
class Person{
public:Person(T1 name, T2 age){this->m_Name = name;this->m_age = age;}void show_value(){cout<<"name:"<<m_Name<<endl;cout<<"age:"<<m_age<<endl;}T1 m_Name;T2 m_age;
};//1.顯示指定對象的數據類型
void test1(Person<string, int> &p)
{p.show_value();
}//2.對象參數模板化進行傳遞
template<class T1, class T2>
void test2(Person<T1, T2> &p)
{p.show_value();cout<<"T1數據類型:"<<typeid(T1).name()<<endl;cout<<"T2數據類型:"<<typeid(T2).name()<<endl;}//3.類模板化
template<class T>
void test3(T &p)
{p.show_value();cout<<"T數據類型:"<<typeid(T).name()<<endl;}int main()
{Person<string,int> p("孫悟空",500);test1(p);Person<string,int> p1("豬八戒",300);test2(p1);Person<string,int> p2("沙悟凈",100);test3(p2);return 0;
}
總結
以上是生活随笔為你收集整理的C++ 类模板对象传参方式的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [论文解读 2021-TIP] Revi
- 下一篇: 零售行业数据分析之员工绩效考核·技巧整理