封装:struct中封装成员变量和函数指针。
继承:结构体中嵌套结构体。
多态:子类对象动态指向父类的现象叫多态。
void pFunction2(void)
{
printf(“函数2”);
}
struct A{ //父类
void (*pFunction1)(void); //虚函数
};
struct B{ //子类
struct A a;//父类
void (*pFunction2)(void);//子类
}*b;
b->pFunction2=b->a.pFunction1;
pFunction2();
No. | 比较点 | 函数重载 | 函数重写 |
---|---|---|---|
1 | 单词 | Overload | Override |
2 | 方法的声明 | 方法名相同,参数列表不同 | 方法名相同,参数列表相同 |
3 | 返回值 | 没有要求 | 返回值必须相同或者子类 |
4 | 访问权限 | 没有要求 | 子类不能比父类更加严格 |
5 | 范围 | 同一个类中 | 继承关系中 |