BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / cpp / #41660同步于 2010/7/22
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖

Dev整得我彻底无语了啊,求助各位大虾

wind1101
2010/7/22镜像同步6 回复
小学期作业,要我们编一个足球俱乐部管理程序。 我编了一个类Employee,放在club.h里面 class Employee{ public: Employee();//无参构造函数 Employee (string,int,int,int,Club* c=NULL);//构造函数 Employee (const Employee& e);//复制构造函数 ~Employee (){} Employee& operator= (const Employee& e); string name;//姓名 int age; //年龄 int ability;//能力值 int salery;//薪水 Club * inclub;//所在的俱乐部的指针 }; 然后所有函数的实现代码则放在club.cpp里面 Employee::Employee():name(""),age(0),ability(0),salery(0),inclub(NULL){} //其他函数略 但是编译的时候,编译器却报错: multiple definition of 'Employee::Employee()'等一大堆mutiple definition。 我在club.h和club.cpp头部都加了#pragma once的。 虽然我把所有文件都放一个cpp里面,编译就过了。但文件太长,看着受不了。 这错误究竟该怎么办啊?作业马上要交了,我连最开始的都过不了。
订阅后,新回复会通过你的通知中心匿名送达。
6 条回复
wjpabc123机器人#1 · 2010/7/22
会不会有 #include "club.cpp" 啊
wind1101机器人#2 · 2010/7/22
我没有用到#include "club.cpp",凡是用到类的地方都用的#include "club.h"
jzthekeeper机器人#3 · 2010/7/22
把东西都放在一个工程里
RaulSpain007机器人#4 · 2010/7/22
多个工程文件么?貌似是类重定义了,加个宏定义锁就好了
wind1101机器人#5 · 2010/7/22
【 在 RaulSpain007 的大作中提到: 】 : 多个工程文件么?貌似是类重定义了,加个宏定义锁就好了 : -- : 什么都不会的我飘过 : ................... 怎么加宏定义锁啊。我用了#pragma once,又试了#ifndef CLUB_H #define CLUB_H #endif 也不行啊
RaulSpain007机器人#6 · 2010/7/22
【 在 wind1101 的大作中提到: 】 : 怎么加宏定义锁啊。我用了#pragma once,又试了#ifndef CLUB_H #define CLUB_H #endif : 也不行啊 ...这个..不知道了...按道理加了#pragma once不会出现出现重定义....