#ifndef ClassTemplate_HH
#define ClassTemplate_HH
#include<iostream>
using namespace std;
template <typename T1, typename T2>
class myClass{
private:
T1 I;
T2 J;
public:
myClass(T1 a, T2 b);
void show();
};
template <typename T1, typename T2>
myClass<T1, T2>::myClass(T1 a, T2 b):I(a),J(b){}
template<typename T1, typename T2>
void myClass< T1, T2>::show(){
cout<<"I= "<<I<<", J = "<<J<<endl;
}
#define ClassTemplate_HH
#include<iostream>
using namespace std;
template <typename T1, typename T2>
class myClass{
private:
T1 I;
T2 J;
public:
myClass(T1 a, T2 b);
void show();
};
template <typename T1, typename T2>
myClass<T1, T2>::myClass(T1 a, T2 b):I(a),J(b){}
template<typename T1, typename T2>
void myClass< T1, T2>::show(){
cout<<"I= "<<I<<", J = "<<J<<endl;
}
#endif
#include <iostream>
#include "ClassTemplate.h"
using namespace std;
int main(void){
myClass<int, int> class1(3, 5);
class1.show();
myClass<int, char>class2(3, 'a');
class2.show();
myClass<double, int>class3(2.9, 10);
class3.show();
}
本文介绍了一个使用两个泛型参数的C++模板类myClass的设计方法,并展示了如何为不同数据类型创建该类的实例,包括整数、字符及浮点数等。通过构造函数初始化成员变量并在成员函数中输出这些变量的值。
1867

被折叠的 条评论
为什么被折叠?



