そのクラスのすべてのオブジェクトがその値を持つように、コマンドライン引数からクラスメンバーを割り当てる方法はありますか (デフォルトで)? Var
メンバー関数は Foo クラスで新しいオブジェクトを作成し、関数パラメーターを作成したくないため、デフォルトでそれが必要です。できればグローバル変数は避けたい。グローバル変数を使用せずに、以下のコードと同じことを自分のコードで実行したいと考えています。
フー.h:
#include <string>
#include <iostream>
extern int Var;
class Foo{
public:
int var;
Foo();
};
Foo.cpp:
#include "Foo.h"
Foo::Foo(){
var = Var;
}
main.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
}