阅读量:1
C语言不支持重载运算符,只能通过函数来实现类似的功能。例如,可以通过定义一个函数来代替重载的加法运算符:
#include <stdio.h> typedef struct { int x; int y; } Point; Point add(Point p1, Point p2) { Point result; result.x = p1.x + p2.x; result.y = p1.y + p2.y; return result; } int main() { Point p1 = {1, 2}; Point p2 = {3, 4}; Point sum = add(p1, p2); printf("Sum: (%d, %d)\n", sum.x, sum.y); return 0; }
这段代码定义了一个 Point
结构体和一个 add
函数,用来计算两个 Point
结构体的坐标之和。在 main
函数中,我们创建了两个 Point
对象 p1
和 p2
,然后使用 add
函数计算它们的和,并打印结果。
需要注意的是,C++ 支持重载运算符的特性,可以更方便地实现类似的功能。但是,在C语言中,我们只能通过函数来模拟重载运算符的行为。