一.类的成员函数和数据成员
二.类的构造函数
class A
{
public:
A();
~A();
void func(int a);
private:
int b;
};
A::A()
{
b=0;
}
void A::func(int a)
{
b=a;
}
typedef struct classA A;
struct classA
{
void (*A)(struct classA *p);//构造函数指针
void (*U)(struct classA *p);//析构函数指针
void (*func)(struct classA *p,int a);
int b;
};
void fun_A(A *p)
{
p->func=classA_func; //将函数指针初始化
}
void IA(A *p) //构造函数,命名规则在类名前加I
{
fun_A(p);
p->b=0; //原构造函数所作部分
}
void classA_func(A *p,int a)
{
p->b=a;
}
A *s=(A*)malloc(sizeof(A));
s->A=IA;
s->A(s);
三.类的析构函数
四.类的拷贝构造函数
五.类的内联函数和虚函数
class B
{
…
virture void funb();
inline int add()const {return a+b;};
private:
int a;
int b;
…
}
typedef classB B;
struct classB
{
…
void (*funb)(struct classB *p);
int (*add)(struct classB *p);
int a;
int b;
}
void classB_funb(B *p)
{
…
}
int classB_add(B *p)
{
return p->a+p->b;
}
void fun_classB(B *p)
{
…
p->funb=classB_funb;
p->add= classB_add;
}
六.重载
七.类的继承
八.其他