首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

c++ 多文件如何组织

2012-09-08 
c++ 多文件怎么组织照着cpp cookbook的代码敲,但是遇到了多文件的组织问题:书上的源代码:(但不知道utils.h

c++ 多文件怎么组织
照着cpp cookbook的代码敲,但是遇到了多文件的组织问题:
书上的源代码:(但不知道utils.h和utils.cpp怎么写,下面给出了这3个文件的实现,只是不知道如何组织成一个程序)

C/C++ code
#include <algorithm>#include <string>#include <iostream>#include <vector>#include <iterator>using namespace std;#include "ultis.h"int main() {    vector<int> v;    back_insert_iterator<vector<int>> p = back_inserter(v);    for(int i=0;i<10;i++)        *p=i;    printContainer(v);    random_shuffle(v.begin(),v.end());    printContainer(v);    return 0;}

===========================================================================================
utils.h 源代码(就是不知道怎么写这个头文件,自己写的编译时老提示错误)
C/C++ code
template<typename C>void printContainer(const C& c,char delim=',',ostream &out=cout) ;template <typename Fwd>void printRange(Fwd first,Fwd last, char delim=',',ostream &out=cout) ;

============================================================================================
里面的两个函数模板的定义:
utils.cpp
C/C++ code
template<typename C>void printContainer(const C& c,char delim,ostream &out) {    printRange(c.begin(),c.end(),delim,out);}template <typename Fwd>void printRange(Fwd first,Fwd last, char delim,ostream &out) {    out<<"{";    while(first!=last) {        out<<*first;        if(++first!=last)            cout<<delim<<' ';    }    out<<"}"<<endl;}

======================================================================================
请问怎么写这3个文件才能在vc6上正确运行?


[解决办法]
模板函数/类的定义只能放在头文件,否则就会出现“未定义”
[解决办法]
函数模板声明和定义可以分开,但是类模板的要放在一个头文件里才能编译通过;
[解决办法]
探讨

模板函数/类的定义只能放在头文件,否则就会出现“未定义”

热点排行