gpt4 book ai didi

c++ - 我可以在其他类(class)中创建一个类(class)吗?并召集所有人

转载 作者:太空宇宙 更新时间:2023-11-04 13:44:42 25 4
gpt4 key购买 nike

我是 C++ 的新手,所以我希望你能在这方面帮助我。

我有这个类的外观,我展示了一些 cpp 的代码

Appearances::Appearances(const char* id, float shininess,const char* textureref)
{this->id = id;
setShininess(shininess);
this->textureref = textureref;
}

我想像这样加入另一个“组件”类

Component(float ambient[4] , float diffuse[4] , float specular[4])
{setAmbient(ambient);
setDiffuse(diffuse);
setSpecular(specular);
}

我想要的是我可以调用所有这些连接的外观,例如:

app = new Appearances(idAppearance, vAmb, vDif, vSpec, shininess, txtRef);

我正在尝试在 C++ 上实现这一点

<appearance id="app1" shininess="6.0" textureref="ss" >
<component type="ambient" value="5 5 5 5" />
<component type="diffuse" value="5 5 5 5" />
<component type="specular" value="0.6 0.6 0.6 0.6" />
</appearance>

我不知道我是否解释清楚我想要什么,但是有人可以帮助我吗? :)

最佳答案

为此,您需要更改构造函数以包含组件类的数据。

Appearances::Appearances(const char* id,float ambient[4] , float diffuse[4] , float specular[4], float shininess,const char* textureref)

然后在构造函数中调用Component的构造函数。

但这提出了设计问题。如果你可以初始化你的组件,这意味着它只是一个你想要做的逻辑组,我建议使用命名法而不是像 comp_Ambient。

如果你想在你的类中有多个组件,那么你不想在构造函数中初始化它。

我看到使用这种设计的另一个原因是能够在其他对象上使用组件,然后不要将它放在类中。

关于c++ - 我可以在其他类(class)中创建一个类(class)吗?并召集所有人,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26446665/

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