質問: c++で既存のクラスを継承せず、メソッドを追加する方法はありますか? cocos2d-xでゲームを作っているのですが、Nodeなどの既存クラスにメソッドを追加したいと思っています。 また、1つの実装ファイルが長くなるのを防ぐために、実装ファイルを複数に分割したいです。 objective-cではカテゴリの機能を使って、それらのことができたのですが、cocos2d-x(c++)で上記のようなことは可能でしょうか。
回答: 既に回答がついていますが、やや補足してみます。 ライブラリ内の既存のクラスを継承せず、メソッドを追加することができない理由は、 1.C/C++言語で実装された機能は、コンパイル時に決定されます。 また、これら(コンパイル結果のバイナリ)を集積してひとかたまりにしたものがライブラリです。 というわけで、できないのですね。 C++言語においては、矛盾さえなければ、実装自体はどこに書いても大丈夫で、制限はありません。 事実上どのソースファイル(*.cpp)に書いてもOKです。 あとで行方不明にならないようにそれなりに命名したファイルが良いとはおもいますけど。