注册 登录
编程论坛 C++教室

SOS:一个文件链接的问题(特邀版主和各位高手指点)

南国利剑 发布于 2010-04-29 12:40, 431 次点击
以下是我的代码,分三个文件,写在一个文件里头没有问题,但是分开就是无法正确链接。请指教。
//头文件 muban.h
 
#include <iostream>
#include<cstdlib>
using namespace std;
 
struct student
{
    int id;
    float gpa;
};
 
 
template <typename T>
class store
{
    T item;
    int havevalue;
public:
    store();
 
    T getelem(void);
    void putelem(T x);
 
};
 
//实现文件 muban.cpp
 
#include "muban.h"
 
template<class T>
T store<T>::getelem(void)
{
    if(havevalue==0)
    {
        cout<<"No item present!"<<endl;
        exit(1);
    }
    return item;
 
}
 
 
template<class T>
void store<T>::putelem(T x)
{
    havevalue++;
    item=x;
 
}
 
template<class T>
store<T>::store():havevalue(0)
{}
 
 
//主函数 main.cpp
 
#include "muban.h"
int main()
{
    student g={1000,23};
    store<int> s1,s2;
    store<student> s3;
    store<double> D;
 
    s1.putelem(3);
    s2.putelem(-7);
    cout<<s1.getelem()<<ends<<s2.getelem()<<endl;
    s3.putelem(g);
    cout<<"the student id is "<<s3.getelem().id<<endl;
    cout<<"retrieving object D  ";
    cout<<D.getelem()<<endl;
    system("pause");
 
}
 
 




 
2 回复
#2
cnfarer2010-04-29 15:09
手工编译的话:
1.先将muban编译出obj
2.链接时将main.obj和上面的muban.obj一起就行了!
如果用VC++,将三个文件包含在一个项目中就行了!
#3
南国利剑2010-04-29 17:34
回复 2楼 cnfarer
我用的就是vc++6.0,我在给出的代码中也包含了头文件,为什么还是过不了?
我这三个文件是在同一个工程里头的,没有错。
恳请版主指教。
谢谢
1