使用C语言,完整代码
时间: 2024-07-06 10:00:57 浏览: 154
c语言打字游戏完整代码
5星 · 资源好评率100%
在C语言中,实现多态性通常通过结构体和函数指针或者函数重载、运算符重载来间接模拟。因为C语言本身并不支持纯虚函数和虚函数这样的概念,这些特性主要在C++中使用。但你可以创建一个基类,定义一些接口,然后由子类具体实现。
这里是一个简单的例子,展示如何使用函数指针来实现类似多态的功能:
```c
#include <stdio.h>
// 基类,声明一个函数指针
typedef void (*FuncType)(int);
// 声明一个结构体,包含函数指针
typedef struct {
FuncType function;
} MyClass;
// 定义几个不同的函数,它们将被作为多态行为的实例
void printNumber(int num) {
printf("Number: %d\n", num);
}
void printString(const char* str) {
printf("String: %s\n", str);
}
int main() {
// 创建基类的实例,并指向不同的函数
MyClass obj1 = {printNumber};
MyClass obj2 = {printString};
// 调用函数指针,达到多态效果
obj1.function(10); // 输出:Number: 10
obj2.function("Hello"); // 输出:String: Hello
return 0;
}
阅读全文