C++工作笔记-模版类要注意的地方(对比模版函数)

指定了模版参数类型后,在编译的时候就会生成一个新的具体的类,然后用这个类构造对象。用<>来指定模版的类型


而函数模版就不是这样,他先调用函数,发现是什么类型再推到,而类是必须要指定的

所有模版类必须要指定类型,而函数则不用。


代码如下:

#include <iostream>
using namespace std;

template<typename T>
class MyClass{
private:
	T x;
	T y;
public:
	MyClass(T a) :x(a), y(a){}
	MyClass(T a, T b) :x(a), y(b){}
	friend ostream& operator << (ostream &os, MyClass myclass){
		os << "(" << myclass.x << "," << myclass.y << ")";
		return os;
	}
};


void main(){
	MyClass<int> myclass(10);
	MyClass<double> myclass2(10.1, 20.7);
	cout << "myclass:" << myclass << endl;
	cout << "myclass2" << myclass2 << endl;
	getchar();
}

运行截图如下:



这里为什么要用友元呢?因为是只有友元访问,才能访问这个类的私有成员!!!!

猜你喜欢

转载自blog.csdn.net/qq78442761/article/details/80301475