Home > AI > Uncategorized

C语言实现继承/封装/多态/重载

#include <stdio.h>
#include <stdlib.h>


//继承
typedef struct _parent {
    int data;
} parent;

typedef struct _child {
    struct _parent parent; //基础数据放头部
    int data;
} child;


//封装
//访问级别, c++是public,protected,private
typedef void (*process) (struct _data *pData);
typedef struct _data {
    int value;
    process pProcess;
} data;

int main(int argc, char *argv[])
{
    printf("od\n");
}

//多态
//同一接口代码处理不同的数据
typedef struct _play {
    void *pData;
    void (*start_play)(struct _play *pPlay);
} play;


//重载
//1)函数重载,指函数名字一样,参数个数、类型不一样的函数声明和实现. C 编译器不支持
//2)重定义,指派生类中定义与基类签名一样(名字、返回值、参数完全一样)的非虚函数,这样派生类的中的函数会覆盖基类的同签名函数,通过成员操作符访问时无法访问基类的同签名函数。
//3)虚函数重写

 

Related posts:

Leave a Reply