FC2ブログ

がががががが

C言語でクラスみたいな記述をしてみた。
C++やC++/CLI使えば済む話なんだがね!
#defineで固めるのは好きじゃないので
ナチュラルに仕上げる


#include <stdio.h>

typedef struct __CALSS__ {
int a;
int b;
int add; //和
int sub; //差
int pro; //積
float quo; //商
void *kekka;
} class;

int ADD(class *cs){
int ad;
ad = cs->a+cs->b;
return ad;
}

int SUB(class *cs){
int sb;
sb = cs->a-cs->b;
return sb;
}

int PRO(class *cs){
int pr;
pr = cs->a*cs->b;
return pr;
}

float QUO(class *cs){
float qo;
qo = cs->a/cs->b;
return qo;
}

void *KEKKA(class *cs){
printf("結果は\n"
"+:%d\n"
"-:%d\n"
"x:%d\n"
"÷:%f\n",cs->add,cs->sub,cs->pro,cs->quo);
}

class CLASS(int a1,int a2){
class cs;
cs.a=a1;
cs.b=a2;
cs.add=ADD(&cs);
cs.sub=SUB(&cs);
cs.pro=PRO(&cs);
cs.quo=QUO(&cs);
cs.kekka=KEKKA(&cs);
return cs;
}

int main(void){
class ENZAN=CLASS(10,5);

ENZAN.kekka;
return 0;
}

CLASS関数はコンストラクタです。

関数はENZAN::ADDみたいなメソッドと捉えてもかまわんぜよ

kekkaメソッドをメイン関数に入れるだけで
KEKKA関数がしっかり実行されます。

ただ、ヌルポインタ使っているので正しくない記述。
警告はでますね

だけど、サブルーチンのアドレスは何かしら必ずあるので
ポインタでアドレスを返してやれば、
つなぐことはできる。

ちゃんと動きますよ^^


こんにちは!トラックバックテーマ担当の水谷です!今日のテーマは「フィギュア・人形を集めていますか?」です。実を言うと、ここだけの話、水谷はフィギュアや人形を結構、集めたりしています。最近のフィギュアは安価で出来がいいのでコレクションする甲斐がありますよね!集めているものも様々で、アニメやゲームのフィギュアからクレーンゲームなどのぬいぐるみなど、色々と持っています。男の子の場合は、プラモデルなどを作...
FC2 トラックバックテーマ:「フィギュア・人形を集めていますか?」



あつめてはいないぜよ!ボカロのねんどろいどならあるけど・・

何気に、東方とか化物語とかクイーンズブレイドのとかほしくなったりもするけど
スポンサーサイト



テーマ : プログラミング
ジャンル : コンピュータ

コメントの投稿

非公開コメント

ぶろぐかんりしゃ

SmartWoods
最近MoEは・・・
一休み

***** ひとこと *****

MoEの後継ともいわれる
Resonance gamez
完全スキルMMOが
気になるところ



********************


↓2016/3/26更新
My MoE









**********

NEWとらっくばっく
あーかいぶ
かてごりー
リンク
ぶろぐないけんさく
RSSふぃーど
おともだちになろ

この人とブロともになる