赞
踩
结构体封装函数指针:
struct
或 union
定义一个结构体,成员包含函数指针。对象接口/类:
区别总结:
特性 | 结构体封装函数指针 | 对象接口/类 |
---|---|---|
数据隐藏 | 否 | 是 |
封装 | 否 | 是 |
继承 | 否 | 是 |
多态 | 否 | 是 |
开销 | 低 | 高 |
复杂度 | 低 | 高 |
适用场景 | 简单功能,与 C 语言交互 | 需要数据隐藏、继承和多态 |
例子:
结构体封装函数指针:
- struct Calculator {
- int (*add)(int, int);
- int (*subtract)(int, int);
- };
-
- int add(int a, int b) {
- return a + b;
- }
-
- int subtract(int a, int b) {
- return a - b;
- }
-
- int main() {
- Calculator calc;
- calc.add = add;
- calc.subtract = subtract;
- int result = calc.add(10, 5);
- return 0;
- }
对象接口/类:
- class Calculator {
- public:
- int add(int a, int b) {
- return a + b;
- }
-
- int subtract(int a, int b) {
- return a - b;
- }
- };
-
- int main() {
- Calculator calc;
- int result = calc.add(10, 5);
- return 0;
- }
选择建议:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。