「Learn C the Hard Way」の本を読んでいると、次のようなコード スニペットが見つかりました (以下は私のコードですが、プログラムの構造は同じです)。
#include <iostream>
#include <string>
using namespace std;
class Person {
private:
string name;
int age;
public:
Person(string name, int age) {;
this->name = name;
this->age = age;
}
~Person() {
}
};
// When whould I do like this?
class Person *Create_person(string name, int age) {
class Person *person = new Person(name, age);
return person;
};
int main() {
Person *person = Create_person("John", 30);
}
特に見て
class Person *Create_person(string name, int age) {
class Person *person = new Person(name, age);
return person;
};
それはどのような機能ですか?だけでなく、そのように呼ぶのはなぜPerson *person = new Person
ですか?の短縮形か
class Person {
public:
Person *Create_person(string name, int age){
Person *person = new Person(name, age);
return person;
}
}
?