我目前正在使用C++入门。对于当前正在执行的作业,我必须在一个头文件中定义许多类。我不确定我是否做对了。这是我正在尝试做的示例。

//classOne.h
class classOne{
    public:
        classOne();
        ~classOne();
        class classInsideClass{
            public:
                classInsideClass
                void hello();
                void print();
        };

}

(我已跳过此示例中的一些代码,例如classOne的构造函数)
//classOne.cpp
classOne::classInsideClass::classInsideClass(){}
classOne::classInsideClass::hello(){
    cout << ""Hello <<endl;
}

//main.cpp
classOne callingClass;
callingClass.classInsideClass.hello;

我已经在classOne的头文件中定义了一个类。我已经在classOne的cpp中为此classInsideClass创建了函数。这是正确的说法吗,classInsideClass属于classOne,还是我不允许这样做?

我在main.cpp中正确调用classInsideClass的函数吗?当我尝试运行此命令时,出现以下错误;



如果我不尝试在main.cpp中调用classInsideClass的函数,则可以正常运行。

提前致谢。

最佳答案

classInsideClassclassOne内部的类型,而不是对象。如果要调用classInsideClass::hello(),则需要一个classInsideClass的实际实例:

classOne::classInsideClass callingClass;
callingClass.hello();

关于c++ - 头文件中的C++类定义,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9765568/

10-11 23:15