-1

有没有办法从命令行参数分配一个类成员,以便该类的所有对象都具有该值(默认情况下)?默认情况下我想要它,因为成员函数在 Foo 类中创建了一个新对象,并且我不想制作Var函数参数。如果可能的话,我想避免使用全局变量。我希望我的代码执行下面的代码,但不使用全局变量。

富.h:

#include <string>
#include <iostream>

extern int Var;

class Foo{
    public:
         int var;
         Foo();

};

Foo.cpp:

#include "Foo.h"
Foo::Foo(){
    var = Var;
}

主.cpp:

#include "Foo.h"

int Var; // global variable
using namespace std;

int main(int argc, char *argv[]){
    Var = stoi(argv[1]);
    Foo foo;
    cout << foo.var << endl; // should print the command-line argument

}
4

1 回答 1

0

我建议使用std::istringstream

int main(int arg_count, char * * arguments)
{
  std::istringstream arg_stream(arguments[1]);
  unsigned int value;
  arg_stream >> value;
  return 0;
}
于 2015-02-10T22:26:00.670 回答