我最近被要求将一个包含主函数的 C 程序包装到一个 C++ 类中,但我没有看到有效执行此操作的一般方法。
比如我的C程序是
#include<stdio.h>
#include<stdlib.h>
int main(int argc, char * argv[]) {
int i, sum = 0;
if (argc != 3) {
printf("Two numbers are needed.\n");
exit(1);
}
printf("The sum is :%d \n ", atoi(argv[1])+atoi(argv[2]));
}
如何将这个主要功能包装到 C++ 类中?我模糊的想法是用C++构造函数来模拟main的argc和argv,但是我不知道怎么做。你能帮忙吗?
最佳答案
没那么难。只需将转换委托(delegate)给 main()
函数,并传递正确的值:
SumComputer computer(atoi(argv[1]), atoi(argv[2]));
printf("The sum is :%d \n ", computer.sum());
你有一个带有构造函数的类,例如 SumComputer(const int a, const int b)
和一个 int sum() const
函数。
您还可以拥有一个具有简单构造函数和更复杂的 sum()
函数的对象,甚至可能使用 varargs .
关于c++ - 将包含主函数的 C 程序包装到 C++ 类中,,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59202665/