【问题标题】:Adding class to c++ project [closed]将类添加到 C++ 项目 [关闭]
【发布时间】:2013-06-20 01:07:34
【问题描述】:

我在 VS C++ 2010 中寻找向 C++ 项目添加类的教程,但找不到任何有用的信息。你能告诉我如何在 C++ 项目中添加一个类吗?当我将类添加到源文件中时,它会创建 2 个文件(.cpp 和 .h),我应该在其中编写代码以及如何在 main.cpp 中包含该类?

【问题讨论】:

  • 欢迎来到 SO!如果您有具体问题,您会在这里得到更好的反馈。 (见stackoverflow.com/help)。例如,如果您向我们展示您的班级的骨架并描述您 a) 认为它应该做什么和 b) 它正在做什么,这将是一个更好的问题。

标签: c++ visual-studio-2010 class


【解决方案1】:

将此添加到您的 main.c : #include "MyClass.h"

一定要看看:http://msdn.microsoft.com/en-us/library/c2088962.aspx

将通用 C++ 类添加到项目中 在类视图中,右键单击要向其中添加新类的项目,单击“添加”,然后单击“类”。 在“添加类”对话框的模板窗格中,单击“C++ 类”。单击添加以显示通用 C++ 类向导。 在向导中,提供类名,然后定义设置或接受默认值。 要关闭向导并查看项目中新的通用 C++ 类,请单击完成。

[编辑] 最后但并非最不重要的是,正如上面 TCS 所说,不要忘记使用 include 保护!头文件中的“#pragma once”!

【讨论】:

    【解决方案2】:

    你应该在.h 文件中声明你的类。将您的方法的代码写入单独的 .cpp 文件中,其中包含您的头文件,然后将您的头文件包含在主 .cpp 文件中。 例如

    header.h

    #ifndef _H_
    #define _H_
    class Foo{
    public:
        void someMethod();
    };
    #endif
    

    fntcn.cpp

    #include "header.h"
    
    void Foo::someMethod() {
    };
    

    main.cpp

    #include "header.h"
    int main(){
    Foo foo;
    foo.someMethod();
    return 0;
    }
    

    编辑:

    一种常见的做法是使用与内部声明的类相同的名称来命名文件。例如,由于我声明了一个名为 Foo 的类,因此头文件的名称应该是 Foo.h 和 .cpp 文件的名称:Foo.cpp

    【讨论】:

    • 别忘了使用包含防护!头文件或#ifdef INC_A 中的“#pragma once”。 en.wikipedia.org/wiki/Pragma_once
    • @TCS:一个很好的观点!
    • 编译器说无法打开头文件..
    • 我在源文件中添加了一个类(在解决方案资源管理器中),它自动将 .h 文件添加到头文件中
    • 尝试从 if 语句中删除 else,这样你的第二个 return 也是默认返回。这可能会解决问题。如果您对编码有任何其他问题,我建议您将其发布在单独的问答中。
    【解决方案3】:

    如果你想导入一个现有的类,你应该右键点击你的项目,去添加然后点击类...这应该会弹出一个窗口要求你导入.cpp和.h文件...

    如果您想添加一个新的 .cpp 或 .h 文件,您应该点击 New item,而不是 Class,这将创建一个新文件,您可以在其中编写代码..

    如果您想知道 .cpp 和 .h 文件之间的区别,.cpp 是您创建类的位置,因此它们是定义,而 .h 文件是您声明它们的位置,因此它们是声明。这就是原因您应该在要包含新课程的课程上添加#include "MyNewClass.h"...

    有关差异的更多信息,请查看 asnwer here

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-08-12
      • 2022-01-17
      • 2015-01-26
      • 2020-09-05
      • 1970-01-01
      • 2011-05-01
      • 1970-01-01
      • 2016-11-29
      相关资源
      最近更新 更多