У меня есть немного кода следующего формата, содержащегося в одном .h и .cc файла:выкладывания методы класса в различных .cc файл
myClass.h:
#ifndef MYCLASS_H
#define MYCLASS_H
class myClass
{
public:
myClass(); // constructor
~myClass(); // destructor
void classMethod1();
void classMethod2();
int memberVarable1;
int memberVariable2;
};
#endif
и MyClass .cc:
#include "myClass.h"
myClass::myClass(){
// stuff
}
myClass::~myClass(){
// stuff
}
void myClass::classMethod1(){
// stuff
}
void myClass::classMethod2(){
// stuff
}
Все это работает нормально. Однако мой проект становится довольно большим, и я собираюсь добавить набор новых функций. Вместо того, чтобы забивать myClass.h и myClass.cc, я хочу поместить некоторые новые методы в другой .cc-файл. Кажется, я не могу заставить это работать.
myClass.h:
#ifndef MYCLASS_H
#define MYCLASS_H
#include "secondFile.h"
class myClass
{
public:
myClass(); // constructor
~myClass(); // destructor
void classMethod1();
void classMethod2();
int memberVarable1;
int memberVariable2;
};
#endif
и myClass.cc:
#include "myClass.h"
#include "secondFile.h"
myClass::myClass(){
// stuff
}
myClass::~myClass(){
// stuff
}
void myClass::classMethod1(){
// stuff
}
void myClass::classMethod2(){
// stuff
}
secondFile.h:
#ifndef SECONDFILE_H
#define SECONDFILE_H
void someNewMethod();
#endif
secondFile.cc
#include "secondFile.h"
void someNewMethod(){
// can't see classMethod1()
}
Определить, как это: недействительного MyClass :: classMethod1() {// вещь } недействительного MyClass :: classMethod2() {// материала } –
Я вижу много проблем , но я уверен, что многие из этих проблем не в вашем реальном коде, это просто ошибки, которые вы сделали, переписывая свой настоящий код на этот пост. Поэтому, пожалуйста, исправьте сообщение, так что это похоже на ваш реальный код. В противном случае вы получите ответы, которые не имеют никакого отношения к вашей реальной проблеме. – john
Также вы используете make-файл? –