私はC++とオブジェクトのインスタンス化がどのように機能するかについてあまり詳しくないので、これはおそらく非常に簡単に解決できます。g ++でコンパイルすると、「'Foo :: Foo(std :: string)'への未定義の参照」というエラーが発生します。コンストラクターに文字列パラメーターを持つクラスFooのインスタンスを作成したいと思います。コードは次のとおりです。
Foo.h
#include <string>
using namespace std;
class Foo
{
public:
Foo(string s);
private:
string id;
};
Foo.cpp
#include <string>
#include "Foo.h"
using namespace std;
Foo::Foo(string s)
{
id = s;
}
main.cpp
#include <string>
#include "Foo.h"
using namespace std;
int main()
{
Foo foo("bar");
return 0;
}