在很多在线判断问题中,输入的格式如下:第一行是测试用例的数量。让我们说X.然后X行就是每个测试用例的条件。
在下面的示例中,有两个测试用例。每个测试用例指定应在输出中显示素数的上限和下限。
Input:
2
1 10
3 5
Output:
2
3
5
7
3
5
现在提出我的问题。现在,我的程序可以像这样处理一个测试用例:
int main()
{
TestCase t;
t.setRange();
t.compute();
t.print();
}
如何创建X量的TestCase而不将它们全部命名为't'?
X是在朗姆酒时指定的。
答案 0 :(得分:3)
您可以std::vector<TestCase> allofem;
和allofem.push_back(TestCase())
X
次;当然记得#include <vector>
。然后,您可以循环allofem
并计算然后打印每个项目。
答案 1 :(得分:0)
for (int i = 0; i < numOfTestCases; ++i) {
TestCase t;
t.setRange();
t.compute();
t.print();
}
答案 2 :(得分:0)
在C ++中,您有两种创建对象的选项:堆栈或堆。
要在堆栈上创建它,您将运行for循环并声明一个通常类似于TestCase t
的变量。
另一种方法是在堆上创建它。这会动态创建x个TestCase对象。
TestCase ** tests = new (* TestCase)[x];
for (int i = 0; i < x; i++) {
tests[i] = new TestCase();
} // for i