我有这样一个C++程序
#include<iostream>
string A();
string B();
string C();
int main()
{
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我想通过使用三个函数A(),B()和C()来测试应用程序,这样我就可以从main()中随机调用它们,这样我就可以测试应用程序了.我不知道是否存在任何条款或任何调整,这将允许我随机调用任何顺序的函数.
在C++中是否可以随机调用函数,如果是,那么最好的方法是什么?
如何使用for循环选择随机数来控制调用哪个测试.
for(size_t i = 0; i<NUM_Of_TESTS; ++i) {
switch(rand() % 3) {
case 0: A(); break;
case 1: B(); break;
case 2: C(); break;
}
}
Run Code Online (Sandbox Code Playgroud)
像这样的switch语句将允许不同的函数签名.
如果函数都具有相同的签名,则可以创建一个函数指针数组.
typedef string (*func_ptr)();
func_ptr funcs[3] = { A, B, C };
cout << funcs[rand() % 3]() << endl;
Run Code Online (Sandbox Code Playgroud)