兩個邊框和立方體採取一些參數在其構造對象類型私有類成員
頁眉:
#ifndef WALL_H
#define WALL_H
#include "cube.h"
#include "BoundingBox.h"
class Wall
{
private:
Cube* cube;
BoundingBox* boundingBox;
public:
Wall(D3DXVECTOR3 min, D3DXVECTOR3 max);
~Wall();
void Draw(D3DXMATRIX matView, D3DXMATRIX matProjection);
};
#endif
來源:
#include "Wall.h"
Wall::Wall(D3DXVECTOR3 min, D3DXVECTOR3 max)
{
cube = new Cube(D3DXCOLOR(255, 20, 20, 255), min, max);
boundingBox = new BoundingBox(min, max);
}
void Wall::Draw(D3DXMATRIX matView, D3DXMATRIX matProjection)
{
cube->Draw(matView, matProjection);
}
Wall::~Wall()
{
delete cube;
delete boundingBox;
}
我的問題是,我將如何修改這些類使得cube和boundingBox不是指針而是簡單的實例?提前致謝。
如果我想,我將如何在構造函數中編寫初始化語法,而不是使用初始化列表?還有什麼是初始化列表的好處?只是清晰? – SirYakalot
您不能在構造函數體內運行它。您的對象在初始化程序列表中初始化。所以如果你不這樣做,編譯器將使用默認的ctor。如果它不存在,你會得到一個錯誤。 – mkaes