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

[求助]c++中类头类体与主函数之间的连接

emptyer3011 发布于 2007-01-11 18:54, 481 次点击

H1.h

class Student
{
private:
int number;
public:
void display();
void set(int);
};

H1.cpp

#include <iostream>
#include "H1.h"
using namespace std;

void Student::display()
{
cout <<number;
}
void Student::set(int num)
{
number=num;
}

主函数

#include <iostream>
#include "H1.h"
using namespace std;
int main()
{
Student st1;
st1.set(1);
st1.display();
return 0;
}

编译可以通过 但连接的时候出现以下问题:

--------------------Configuration: Cpp1 - Win32 Debug--------------------
Linking...
Cpp1.obj : error LNK2001: unresolved external symbol "public: void __thiscall Student::display(void)" (?display@Student@@QAEXXZ)
Cpp1.obj : error LNK2001: unresolved external symbol "public: void __thiscall Student::set(int)" (?set@Student@@QAEXH@Z)
Debug/Cpp1.exe : fatal error LNK1120: 2 unresolved externals
Error executing link.exe.

Cpp1.exe - 3 error(s), 0 warning(s)
请大家帮帮忙啊~我不晓得哪里有问题...


4 回复
#2
yuyunliuhen2007-01-11 19:00

#include <iostream>

using namespace std;
class Student
{
private:
int number;
public:
void display();
void set(int);
};

void Student::display()
{
cout <<number;
}
void Student::set(int num)
{
number=num;
}


int main()
{
Student st1;
st1.set(1);
st1.display();
return 0;
}

#3
emptyer30112007-01-11 19:01

不放到一个文件里 而是分开放

#4
yuyunliuhen2007-01-11 19:28

#ifndef head_h_
#define head_h_
class Student
{
private:
int number;
public:
void display();
void set(int);
};
#endif




#include <iostream>
#include "Head.h"
using namespace std;
void Student::display()
{
cout <<number;
}
void Student::set(int num)
{
number=num;
}


int main()
{
Student st1;
st1.set(1);
st1.display();
return 0;
}



把他们放在同一文件夹下编译就可以了....

#5
emptyer30112007-01-11 19:49
把主函数单独拿出来放到一个文件里就不行了 为什么啊
1