Person.h
#ifndef PERSON_H_
#define PERSON_H_
/* Person.h */
class Person {
int age;
std::string name;
public:
Person(int, std::string);
std::string getName();
int getAge();
};
#endif /* PERSON_H_ */
person(int std::string) 関数宣言では std::string という名前を使用していますが、ヘッダー ファイルには含めていません。したがって、コンパイラがシンボルの欠落について文句を言うと思います。それでも、コンパイルして正常に実行できます。なんで?
残りのコード...
人.cpp
#include <string>
#include "Person.h"
Person::Person(int age, std::string name)
{
this->name = name;
this->age = age;
}
std::string Person::getName()
{
return this->name;
}
int Person::getAge()
{
return this->age;
}
メイン.cpp
#include <string>
#include "Person.h"
int main() {
printFunc();
Person chelsea_manning(5, std::string("Chelsea Manning"));
}
また、私は C++ を初めて使用するので、私のコードや OOP についておかしなところがあれば教えてください。