两个边框和立方体采取一些参数在其构造对象类型私有类成员
页眉:
#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