You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C++如何通过循环无限创建类对象 输入指定值时终止运行

解决方法

你只需给main函数的对象执行逻辑套一层死循环即可,无需修改头文件和实现文件的现有逻辑,修改后的驱动文件代码如下:

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

using namespace std;

int main()
{
    // 无限循环,每次迭代创建一个新的square对象
    while(true) {
        square currentSquare;
        currentSquare.setSide();
        currentSquare.calcArea();
        currentSquare.calcPerimeter();
        currentSquare.showData();
        // 可选:添加分割线区分不同对象的输出结果
        cout << "------------------------" << endl;
    }
    return 0;
}

实现逻辑说明

每次进入循环体都会实例化一个全新的currentSquare局部对象,走完当前次循环的所有逻辑后,这个局部对象会被自动销毁,下一次循环再创建完全独立的新对象,完全符合无限创建类对象的需求。你原有setSide函数中已经实现了输入-1直接终止程序的逻辑,无需额外添加循环终止判断。

可选优化(保持类独立性)

如果后续你不希望在类成员函数中调用exit终止程序,可以做如下调整:

  1. 修改setSide返回值为bool类型,输入-1时返回false,合法输入返回true,去掉类方法里的exit调用
  2. 将main函数的循环逻辑改为判断setSide返回值,返回false时直接break退出循环即可

内容的提问来源于stack exchange,提问作者Conrad Speak

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 00:24:03