码迷,mamicode.com
首页 > 其他好文 > 详细

函数模版和主函数分别在.h .cpp中(要包含.cpp)

时间:2017-05-03 22:47:33      阅读:189      评论:0      收藏:0      [点我收藏+]

标签:重要   div   pac   his   include   opera   friend   blog   names   

Complex.h


#pragma once
#include<iostream>
using namespace std;//这句还必须加,要不然致错,不懂为啥呢

template <typename T>
class Complex
{
public:
	Complex( T a);
	~Complex();
	Complex operator + (Complex & c1);
public:
	friend ostream & operator  << <T> (ostream &out,  Complex & c2);
private:
	T a;
};

  

Complex.cpp

#include "Complex.h"
template <typename T>
Complex<T>::Complex(T a )
{
	this->a = a;
}

template <typename T>
Complex<T>::~Complex()
{
}

template <typename T>
Complex<T> Complex<T> ::operator + (Complex<T> & c1)
{
	this->a = this->a + c1.a;
	return *this;
}

template <typename T>
ostream & operator << (ostream &out, Complex <T> & c2)
{
	out << c2.a;
	return out;
}

  

test.cpp


#include<iostream>
#include"Complex.cpp"//这里至关重要!!!
using namespace std;

int main()
{
	Complex <int> a(5);

	cout << a;
	system("pause");
	return 0;
}

  要包含.cpp这点异于常类 易错误

函数模版和主函数分别在.h .cpp中(要包含.cpp)

标签:重要   div   pac   his   include   opera   friend   blog   names   

原文地址:http://www.cnblogs.com/xiaochige/p/6804245.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!