gpt4 book ai didi

C++ 在一个类中实例化一个类。正确的方法?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:18:53 24 4
gpt4 key购买 nike

我正在努力在另一个类中实例化一个类。我主要关心的是......我在哪里放置构造函数?在头文件中?在类文件中?或者两者兼而有之?似乎没有什么是正确的。我会尽量把它说得简单些。让我知道它是否太简单了;)这就是我认为应该的样子:

游戏世界.h:

#include "GameObject.h"

class GameWorld
{
protected:
GameObject gameobject;
}

游戏世界.cpp:

#include "GameWorld.h"

void GameWorld::GameWorld()
{
GameObject gameObject(constrctor parameters);
}

//When I compile the program, the values in the gameObject, are not set to anything.

这就是我尝试过的事情之一。出于显而易见的原因,将构造函数放在标题中也不起作用;我不能从 GameWorld 给它任何参数。

正确的做法是什么?

编辑:糟糕。删除了一些无用的东西。

最佳答案

您需要在包含类的初始化程序列表中初始化GameObject 成员。

// In the GameWorld.h header..
class GameWorld
{
public:
GameWorld(); // Declare your default constructor.

protected:
GameObject gameobject; // No () here.
}

// In the GameWorld.cpp implementation file.
GameWorld::GameWorld() // No 'void' return type here.
: gameObject(ctorParams) // Initializer list. Constructing gameObject with args
{
}

关于C++ 在一个类中实例化一个类。正确的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22238770/

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