今天复习在复习数据结构时,发现模板类有点忘记了。于是复习了模板类,写了以下的程序:
#include<iostream.h>
template<class T>
class A
{
public:
A(T a)
{
a=a;
}
T a;
};
void main()
{
A<int> a(2);
cout<<a.a;
}
发现结果是一个很奇怪的数字,不是2,原来A的构造函数中的赋值将A类中的a赋给了本身,而不是将形参a赋给A类中的a,在编程过程中不能写产生歧义的语句,否则将会出错