hallaa 2024-03-05 19:20 采纳率: 85.7%
浏览 8
已结题

一个类包含几个vector的成员写构造函数

想请教一下这个scene的构造函数该怎么写啊
有几个vector成员,各用几个类型作为它们各自的类型

img

  • 写回答

4条回答 默认 最新

  • 专家-赤兔[在线] 全栈领域优质创作者 2024-03-05 19:21
    关注

    引自免费微信小程序:皆我百晓生

    当然可以,不过你提到的类scene中包含的具体vector成员及其类型没有在问题里给出。为了提供帮助,请提供更多细节,例如:

    假设你的scene类定义如下,其中包含了三个不同类型的vector成员:

    class scene {
    public:
        std::vector<int> integers;
        std::vector<std::string> strings;
        std::vector<MyClass> customObjects;
    
        // 构造函数
        scene(size_t numInts = 0, size_t numStrings = 0, size_t numCustomObjects = 0);
    };
    

    对于上述类,构造函数可以初始化这三个vector成员,并且可以根据传入的参数决定每个vector的初始大小。构造函数实现可能如下:

    class scene {
    public:
        std::vector<int> integers;
        std::vector<std::string> strings;
        std::vector<MyClass> customObjects;
    
        // 构造函数
        scene(size_t numInts, size_t numStrings, size_t numCustomObjects) 
            : integers(numInts), strings(numStrings), customObjects(numCustomObjects)
        {
            // 如果需要的话,为每个vector填充默认值或自定义值
            for (size_t i = 0; i < numInts; ++i) {
                integers[i] = 0; // 假设用0作为integers的默认值
            }
    
            for (size_t i = 0; i < numStrings; ++i) {
                strings.push_back(""); // 使用空字符串初始化strings
            }
    
            for (size_t i = 0; i < numCustomObjects; ++i) {
                customObjects.push_back(MyClass()); // 使用MyClass的默认构造函数初始化customObjects
            }
        }
    };
    

    如果你有其他特定的需求,比如vector成员有不同的初始化方式或者使用不同的类型,请提供详细信息以便我能更准确地帮助你编写构造函数。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 3月19日
  • 已采纳回答 3月11日
  • 创建了问题 3月5日

悬赏问题

  • ¥15 35114 SVAC视频验签的问题
  • ¥15 impedancepy
  • ¥15 在虚拟机环境下完成以下,要求截图!
  • ¥15 求往届大挑得奖作品(ppt…)
  • ¥15 如何在vue.config.js中读取到public文件夹下window.APP_CONFIG.API_BASE_URL的值
  • ¥50 浦育平台scratch图形化编程
  • ¥20 求这个的原理图 只要原理图
  • ¥15 vue2项目中,如何配置环境,可以在打完包之后修改请求的服务器地址
  • ¥20 微信的店铺小程序如何修改背景图
  • ¥15 UE5.1局部变量对蓝图不可见