C++類指標靈活運用
阿新 • • 發佈:2018-12-21
文章目錄
C++類指標時很好使用的,但是類指標在別的地方如果使用只能在一個類裡邊進行使用。正常使用為在別的標頭檔案中進行宣告,我們以使用Camera類為例說明。
直接使用指標
標頭檔案
在需要使用camera
類指標的類標頭檔案
#inclede "camera.h" //包含類的標頭檔案
private:
Camera *camera; //在標頭檔案進行宣告
原始檔
在需要使用camera
類指標的類原始檔
camera = new Camera; //使用new新建一個類指標
這樣我們使用類指標就可以直接對類變數的變數進行操作。比如在Camera類中有height
變數,我們就可以直接進行賦值操作。
camera->height = 5;
使用統一宣告
使用統一宣告的主要思路是將Camera類指標都在Camera類裡邊產生一次,當別的類希望使用的時候直接呼叫Camera函式會返回唯一的指標變數。下邊是我們在Camera類中所要修改的地方。
camera.h
class Camera
{
private:
static Camera *camera;
public:
static Camera* GetInstance();
}
camera.cpp
Camera* Camera::GetInstance()
{
if(camera == NULL)
{
camera = new Camera;
}
return camera;
}
使用camera指標
在別的類裡邊使用camera指標時,首先在標頭檔案中宣告
#include "camera.h"
public:
Camera * camera;
原始檔中
camera = Camera::GetInstance();
這樣就是可以使用Camera類指標的,而且可以在多個不同類中進行使用,不用擔心new導致指標錯亂。