让CppUnit读取netbeans 7.2上的应用程序类 我同时学习C++和CppUnit,使用NETBeaS 7.2。

让CppUnit读取netbeans 7.2上的应用程序类 我同时学习C++和CppUnit,使用NETBeaS 7.2。,c++,netbeans,netbeans-7,cppunit,C++,Netbeans,Netbeans 7,Cppunit,我创建了以下文件 #include <cstdlib> using namespace std; /* * */ class Subtract{ public: int minus(int a, int b){ return a-b; } }; int main(int argc, char** argv) { return 0; } 当我尝试运行测试时,它会出现以下错误 g++ -c -g -I. -MMD -MP -M

我创建了以下文件

#include <cstdlib>

using namespace std;

/*
 * 
 */
class Subtract{
public:
    int minus(int a, int b){
        return a-b;
    }
};

int main(int argc, char** argv) {

    return 0;
}
当我尝试运行测试时,它会出现以下错误

g++    -c -g -I. -MMD -MP -MF build/Debug/GNU-MacOSX/tests/tests/newtestclass.o.d -o build/Debug/GNU-MacOSX/tests/tests/newtestclass.o tests/newtestclass.cpp
tests/newtestclass.cpp:25: error: 'Subtract' has not been declared
tests/newtestclass.cpp: In member function 'void newtestclass::testMinus()':
tests/newtestclass.cpp:30: error: 'Subtract' was not declared in this scope
tests/newtestclass.cpp:30: error: expected `;' before 'subtract'
tests/newtestclass.cpp:31: error: 'subtract' was not declared in this scope
make[1]: *** [build/Debug/GNU-MacOSX/tests/tests/newtestclass.o] Error 1
make: *** [.build-tests-impl] Error 2

<>如何在C++中实现这个工作?

,约定是在头文件(.h文件)中声明类和函数并在源文件(.cpp文件)中实现它们。 您的Subtract.h文件(声明)应该只有以下内容:

class Subtract {
public:
    int minus(int a, int b);
};
您的Subtract.cpp文件(实现)应具有以下内容:

#include "Subtract.h"

int Subtract::minus(int a, int b)
{
    return a-b;
}

然后在newtestclass.cpp文件中包含“Subtract.h”。

我正在使用的书籍和在线教程不区分头文件和cpp文件。有没有办法在netbeans中组合.h和.cpp文件?最佳做法是不组合它们。h文件定义了接口,声明了类型,并且是要与想要使用您的类的每个人共享的内容。.cpp文件是如何完成的详细说明,其他模块不关心它。在学习的这一阶段,不要试图将两者混为一谈。相反,试着去发现为什么区别是重要的。
#include "Subtract.h"

int Subtract::minus(int a, int b)
{
    return a-b;
}