親クラス()といくつかの子クラス()があるthis
ように、jQueryを可能にするためにクラス内のミューテーター(セッター)を戻したいと思います。ほとんどのもののミューテーターはクラスから継承されますが(名前やアドレスなど)、オブジェクトを返すため、クライアントミューテーターを呼び出すことはできません。a.name("something").address("somethingelse");
Entity
Client, Agent etc.
Entity
Entity
言い換えると:
// name mutator
Entity& Entity::name( const string& name ) {
// [...] checks
_name = name;
return *this;
}
// budgetRange mutator
Client& Client::budgetRange( const long int& range ) {
// [...] checks
_budgetRange = range;
return *this;
}
それから私がそれを呼ぶとき:
Client a; a.name("UserName123").budgetRange(50);
コンパイラーは(論理的に)、EntityオブジェクトにはbudgetRangeメンバーがないと言います(nameはClientではなくEntityを返すため)。
今の私の質問は、どうすればこのようなものを実装できますか?子クラスのすべてのエンティティ関数をオーバーロードすることを考えましたが、それは良くなく、継承の考えに反するでしょう:)
よろしくお願いします:D