-1
有沒有辦法從命令行參數中分配一個類成員,以便該類的所有對象都具有該值(默認情況下)?我希望它是默認的,因爲一個成員函數在Foo類中創建一個新對象,並且我不想讓Var
成爲函數參數。如果可能,我想避免全局變量。我希望我的代碼能夠執行下面的代碼,但不使用全局變量。如何從C++中的命令行參數分配成員變量?
了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
}
接收值作爲構造函數參數時出現什麼問題:'Foo(int Var):var(Var){}' – NetVipeC 2015-02-10 22:16:20
使用私有類靜態成員和公共類靜態建立函數。 – WhozCraig 2015-02-10 22:16:43
@NetVipeC我編輯了我的OP來澄清。 (我希望它是默認的,因爲成員函數在Foo類中創建了一個新對象,我不想讓Var成爲函數參數。) – asrjarratt 2015-02-10 22:20:11