相关疑难解决方法(0)

为什么我不应该包含cpp文件而是使用标题?

所以我完成了我的第一个C++编程任务,并获得了我的成绩.但根据评分,我失去了分数including cpp files instead of compiling and linking them.我不清楚这意味着什么.

回顾一下我的代码,我选择不为我的类创建头文件,但是在cpp文件中做了所有事情(它看起来没有头文件......).我猜这个评分者意味着我写了'#include'mycppfile.cpp";' 在我的一些文件中.

#include对cpp文件的推理是: - 应该进入头文件的所有东西都在我的cpp文件中,所以我假装它就像一个头文件 - 在猴子看猴子做时尚,我看到了其他头文件#include在文件中是'd,所以我为我的cpp文件做了同样的事情.

那究竟是我做错了什么,为什么不好呢?

c++ header-files

132
推荐指数
6
解决办法
2万
查看次数

对C++头文件的基本了解

我有一个理论问题而不是错误报告.

我是一名新手C++程序员,试图将其推广

使用VC++ VS2008编译器

我经常发现自己想知道为什么我想在头文件中采取一些行动.

例如,看看这个代码块:

#include "DrawScene.h"
#include "Camera.h"
#include "Player.h"
#include "Grid.h"
#include "InputHandler.h"
#include "GameState.h"

class Controller
{
public:
private:
public:
 Controller();
 ~Controller(){}
 void Update();

private:
};
Run Code Online (Sandbox Code Playgroud)

和连接CPP文件,controller.cpp一起

#include "stdafx.h"
#include "glut.h"
#include "Controller.h"
#include <iostream>

Grid* grid_ptr = new Grid();
InputHandler* inputHandler_ptr = new InputHandler();
DrawScene* drawScene_ptr = new DrawScene();
GameState* gameState_ptr = new GameState();

Controller::Controller()
{

}

void Controller::Update()
{

}
Run Code Online (Sandbox Code Playgroud)

什么是决定哪些包括去哪里的好方法?到目前为止,我一直在使用"无论什么工作"的方法,但我发现它有点不专业.

现在即使你可以说我的代码有X语法错误和设计缺陷,请这样做,但重点我会欣赏有关使用.h VS .cpp文件的信息.

为什么还有这样的设计呢?在制作任何基于OOP的C++程序时,总是会轻易踩着什么是陷阱和陷阱?

是什么引发了这个问题,因为我想通知读者头文件中存在控制器中存在的对象,但是如果不将它们设置为静态,则分配这些未初始化的对象似乎是不可能的.

注意:我源于C# - > C++,可能有助于了解.这就是我对代码的看法.

提前谢谢您的努力!

编辑:26/08/2010 18:16

所以构建时间是良好包含的本质.还有更多需要谨慎吗?

c++ header-files

6
推荐指数
2
解决办法
2561
查看次数

如何理解C++链接/依赖关系?

我是一名Java开发人员,我从不担心包含文件或搞乱BUILD文件.

每当我需要编写C++代码时,事情变得更加复杂.我可以考虑在Java中创建*.h文件作为接口,但是弄清楚如何编写构建文件以及应该包含哪些订单类让我头疼.

有没有一种简单的方法来考虑这个?你怎么知道何时包含某些东西或如何正确地分开东西.例如,通常使用几个相互依赖的源文件来处理项目的好方法.

是否有一些框架可以创建BUILD文件或管理所有这些样板编译的东西更可忍受?

c++ linker compilation build

5
推荐指数
1
解决办法
358
查看次数

添加一个包含保护会破坏构建

我将#ifndef ..#define ..#endif添加到我项目的文件中,编译器失败了.一旦我删除它或在定义中添加任何其他名称它编译好.可能是什么问题呢?

听起来像文件已经声明,但我不知道在哪里.我很好,只是删除它,但我真的想知道为什么会发生这种情况.

error: expected class-name before ‘{’ token
error: ‘QDesignerFormEditorInterface’ has not been declared
Run Code Online (Sandbox Code Playgroud)

还有其他一些错误.

我实际上是在使用Qt的一个例子,"Custom Widget Plugin Example".

不同之处在于我使用自己的类作为自定义小部件(.h,.cpp和.ui文件).

它可能与包含2的文件有关,尽管这就是示例的实现方式.

c++ macros compiler-errors header include-guards

3
推荐指数
1
解决办法
3714
查看次数

将变量放入标题与将变量放入源中的区别

假设我使用变量声明头文件:

int count;
Run Code Online (Sandbox Code Playgroud)

然后在源文件中,我想使用count.我必须声明为:

extern int count
Run Code Online (Sandbox Code Playgroud)

或者我可以在我的源文件中使用它吗?所有假设我都有#include "someheader.h".或者我应该在源文件中声明它?放入count头文件和源文件有什么区别?或者没关系?

c header extern

3
推荐指数
1
解决办法
4499
查看次数

C++头文件约定

我正在使用C++开发一个小游戏,我使用了Eclipse CDT的类生成器.它创建了一个带有类定义的.h文件和一个包含所述类的无体方法的.cpp文件.

因此,如果我遵循模板,我将使用方法声明填充.cpp文件,并使用方法体填充.cpp文件.但是,我不能在另一个文件中包含.cpp文件.

那么C++中包含类和包含文件的约定是什么?我所做的是在.h文件中的类声明下填写方法体,并删除.cpp文件.

c++ naming-conventions header-files

2
推荐指数
1
解决办法
3396
查看次数