gpt4 book ai didi

c++ - std vector 中数据类型的初始化

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:15:57 26 4
gpt4 key购买 nike

好的,我目前正在使用 std vector 构建一个矩阵,该矩阵旨在在其上放置一个细胞或细菌。因此,我制作了一个“死”类作为细胞和细菌之母。所以在矩阵中,一个没有它们的案例将是死的。

但是当我尝试构建矩阵时,通过类似的东西:world[x][y] = new cell()/world[x][y] = new bacterie();它不会编译。

所以我的问题是,我该如何初始化它?

这是我的代码,抱歉,它是西类牙语。

matrizB[fila-1][columna-1] =  new BacteriaM();

matrizB 是一个

vector<vector <dead>> matrizB(n); 

而BacteriaM是一个继承自dead的类; n 由用户定义。(抱歉语法和编程不好,我是编程新手)

最佳答案

为了使用多态性,您的矩阵元素必须是一个指针

vector<vector <dead*>> matrizB(n);

您必须小心管理元素的内存。智能指针(std::shared_ptrstd::unique_ptr -- 哪个更正确)可能值得一看。

希望这对您有所帮助。

关于c++ - std vector 中数据类型的初始化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33589723/

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