我有一個理論問題而不是錯誤報告。對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:
};
而且迷上了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()
{
}
是什麼來決定,其中包括去哪裏的好方法?到目前爲止,我一直在用「無論什麼作品」的方法,但我覺得它有點不專業。
現在即使您可以說我的代碼有X語法錯誤和設計缺陷,但請注意,但我希望信息保留在使用.h VS .cpp文件中。
爲什麼還會有這樣的設計?當製作任何一種基於OOP的C++程序時,什麼是凹坑和陷阱總是會輕微踩踏?
是什麼引發了這個問題,我順便說一句,我想通知讀者的頭文件將有存儲在控制器中的對象,但分配這些未初始化的對象似乎是不可能的,而不使它們成爲靜態的。
注意:我出自C# - > C++,可能有助於瞭解。這是我對代碼的看法。
預先感謝您的努力!
編輯:26/08/2010 18:16
所以建造時間是好包括精髓。還有更多要謹慎嗎?
我自己一個月的時間採取單獨的編譯,在5分鐘內告訴:http:// stackoverflow。com/questions/2037880/how-can-i-avoid-including-class-implementation-files/2038233#2038233 – 2010-10-20 18:12:11
不必擔心編譯時間成爲問題,直到他們*出現問題:我將把* *在標題中開始,稍後再移動。 – 2010-10-20 18:15:16