10/03/29 21:23:31
>>425
Cでの実装も、継承、多態を考えなければ、そう難しくはないと思うよ。
たとえば文字列の場合、
公開用の型として
typedef struct {int class_id;} t_string;
実装用の型として、
typedef struct {int class_id; char* str; } t_string_impl;
を用意しておき、
インスタンス生成の関数が呼ばれたら、t_string_implを生成し、キャストして、ライブラリの外へはt_stringを返す(正確にはポインタを返す)。
その他、文字列操作に関する関数は、返されたt_stringを渡して、ライブラリの中で、キャストしてt_string_implを取り出し、操作する。
使う側としては、インスタンスのポインタと関数のセットで扱うので、そう違いはないかと。
継承、多態を実現しようとすると>>425のいうとおり、煩雑になると思う。
ってゆうか、C++つかいやがれってことです。