gpt4 book ai didi

c++ - 如何在另一个对象的构造函数中声明和创建对象?

转载 作者:太空狗 更新时间:2023-10-29 21:18:30 25 4
gpt4 key购买 nike

我正在学习 C++。我试图在另一个对象中创建几个对象,但编译器给出错误 - no matching function for call to 'Grass::Grass()'

这是“world”对象的头文件。我在其中声明了两个“草”对象:-

#ifndef WORLD_H
#define WORLD_H
#include "Grass.h"

using namespace std;

class World
{
public:
World();

private:
Grass g1;
Grass g2;
};

这是“世界”对象的cpp 文件。在构造函数中,我尝试制作“草”对象但失败了。

#include "World.h"
#include <iostream>

using namespace std;

World::World()
{
g1(200, 200);
g2(300, 200);
}

最佳答案

你的语法错误。您正在寻找所谓的构造函数初始化列表。尝试(假设您已经正确地获得了 Grass 构造函数的签名):

World::World() : 
g1(200, 200),
g2(300, 200)
{
// Nothing
}

关于c++ - 如何在另一个对象的构造函数中声明和创建对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30113940/

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