我刚开始使用C++。我有一个类ourVector,并且在该类中我有一个名为ourVector()的构造函数,它包含变量的初始化。我需要这些变量来重置main中的每个循环,但是我不知道如何在main中调用构造函数。
class ourVector
ourVector()
{
vectorCap = 20;
vectorSize = 0;
}
总的来说,我的类对象称为ourVector vectorTest;
我只是想弄清楚如何在没有错误的情况下调用ourVector(),因此可以将其放在main循环的末尾以清除并重新初始化变量。
任何帮助将不胜感激。
谢谢!
最佳答案
通常,当您发现自己在执行此类操作时,这可能表明存在一种在语义上更合适的方式来构造代码(即使代码结构更紧密地表达您的意图)。
对于您自己的情况,请问自己为什么每次循环都需要重置该值。似乎您只是在使用对象在循环中的每次迭代中保存一些中间数据,并且您不必担心循环外的值(但如果您愿意,则需要riderBill's answer之类的东西)。因此,确实,您的ourVector
实例仅在该循环范围内有用。
因此,使您的代码结构反射(reflect)出:
int main () {
...
while (...) { // <- this represents your loop
ourVector v; // <- each time through, 'v' is constructed
... // <- do whatever with 'v' here
} // <- that 'v' goes away when it goes out of scope
...
}
换句话说,只需在它所属的循环中声明它即可。从语义上讲,这很有意义(它表示您实际使用该对象的方式和位置),并且无需修改
ourVector
即可完成您想要的操作。通常,作为初学者的经验法则,请尝试在可能仍适用于您的代码的最严格范围内声明变量。
关于c++ - 在C++中调用构造函数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26569540/