下面程序怎么错了?

[复制链接]
查看11 | 回复1 | 2010-5-23 15:18:23 | 显示全部楼层 |阅读模式
程序如下,它由三个文件构成:
//"include\student.h"
class student
{

private:

struct stu

{

char name[20];

char number[11];

char grade[6];


} stu[100];

int n;

public:

student();

void get();

int getn();

void show(int,int);

friendint max(student,int i,int j);

friendint min(student,int i,int j);
} ;
//student.cpp
#include
#include
#include
#include"include\student.h"
using namespace std;
student::student()
{
int i;
n=0;
for(i=0;i>s)

{

strcpy(stu[n].number,s);

fin>>stu[n].name;

fin>>stu[n].grade;

n++;

}

for(int i=0;ib) return i;

else if(a0)return i;

else return j;
}
}
int min(student c,int i,int j)

{

int a=0,b=0;

while(c.stu.grade[a]!='.') {a++;}

while(c.stu[j].grade!='.') {b++;}

if(a>b) return j;

else if(a0) return j;

else return i;

}
}
int student::getn()
{return n;}
//main1.cpp
#include"student.cpp"
int main()
{

student a;

a.get();

int n=a.getn();

int max1=0,min1=0,i=0;

for(i=1;istudent.obj : error LNK2005: "public: __thiscall student::student(void)" (??0student@@QAE@XZ) 已经在 main1.obj 中定义
1>C:\Users\owod\Desktop\luan\Debug\luan.exe : fatal error LNK1169: 找到一个或多个多重定义的符号
我只是举了其中两个错误,但不知道究竟错在哪儿,希望各位大侠赐教,一定重分酬谢,不胜感激。
注意这是三个文件合成的一个程序,不是一个简单的CPP 肯定是在产生文件关联的时候出现了某个问题

回复

使用道具 举报

千问 | 2010-5-23 15:18:23 | 显示全部楼层
#include"student.cpp"那句话,应该是#include"include\student.h"吧。 你在main1.cpp中include了student.cpp从错误信息看,你两个cpp都编译了。那么student.cpp的内容不就重复编译吗?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行