如何在类中使用类变量?(C++)

lf5gs5x2  于 2023-02-06  发布在  其他
关注(0)|答案(1)|浏览(149)

这是我要运行的代码:

class poly {
    public:
        int vnum;
        vrtx vrts[this->vnum];
};

(Note:类名“poly”和其他类“vrtx”的命名与问题代码段的目的相似。Vrtx是一个int x,y,z的类;)
一开始,代码根本不包含“this-〉”指针。我很困惑为什么它不起作用,然后意识到“vnum”没有任何意义。我需要一个object.poly.vnum之类的东西,这样我就可以引用一个特定的值。我尝试了“this.”、“this.poly.”和显示的“this-〉”,但是它们都不起作用。我不擅长使用指针。所以任何建议都将不胜感激!
我看过类似的问题,但没有一个解决这个问题的方式,我可以作出必要的修复与所提供的信息。

2uluyalo

2uluyalo1#

这里有一段代码应该会有所帮助。

class Poly
{
  public:
    int vnum;
    std::vector<vrtx> vrts;
    Poly(int capacity)
        : vnum(capacity)
        { vrts.resize(vnum);}
};

上面的片段使用std::vector,因为std::vector可以动态扩展(在运行时),构造函数使用resize方法将std::vector扩展到给定的容量。
在运行时调整数组大小是一件痛苦的事情,所以使用std::vector

相关问题