gpt4 book ai didi

c++ - 对象类型私有(private)类成员

转载 作者:行者123 更新时间:2023-11-28 03:45:49 25 4
gpt4 key购买 nike

边界框和立方体都在它们的构造函数中接受一些参数

标题:

#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 不是指针,而是简单的实例?提前致谢。

最佳答案

很简单。就像这样:

#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);
void Draw(D3DXMATRIX matView, D3DXMATRIX matProjection);
};

#endif

来源:

#include "Wall.h"

Wall::Wall(D3DXVECTOR3 min, D3DXVECTOR3 max)
:cube(D3DXCOLOR(255, 20, 20, 255), min, max)
,boundingBox(min, max)
{
}

void Wall::Draw(D3DXMATRIX matView, D3DXMATRIX matProjection)
{
cube.Draw(matView, matProjection);
}

关于c++ - 对象类型私有(private)类成员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7754144/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com