复制
收藏
提问
简洁
C语言定义一个类MyPoint,包含两个整型属性的私有成员变量x和y及构造方法,另设计方法getXO和getYO、setxO和setYO。在main方法中将X、y分别赋值为你学号的前两位和后两位,并输出×和y的值。
2月前
全网
文档
学术
百科
知识库
回答简洁模式
深入研究一些
在C语言中,并没有类的概念,但是可以通过结构体(struct)和函数来模拟类的行为。以下是如何定义一个类似于类的结构体MyPoint
,包含两个整型属性的私有成员变量x
和y
,以及构造方法和获取及设置这些属性的方法:
#include <stdio.h>
// 定义MyPoint结构体,模拟私有成员变量
typedef struct {
int x; // 学号的前两位
int y; // 学号的后两位
} MyPoint;
// 构造方法,初始化MyPoint结构体
MyPoint createMyPoint(int x, int y) {
MyPoint point;
point.x = x;
point.y = y;
return point;
}
// getX方法,获取x的值
int getX(MyPoint point) {
return point.x;
}
// getY方法,获取y的值
int getY(MyPoint point) {
return point.y;
}
// setX方法,设置x的值
void setX(MyPoint *point, int x) {
point->x = x;
}
// setY方法,设置y的值
void setY(MyPoint *point, int y) {
point->y = y;
}
// main函数,模拟程序的入口
int main() {
// 假设学号为20240623,前两位是20,后两位是23
int x = 20;
int y = 23;
// 使用构造方法创建MyPoint实例
MyPoint point = createMyPoint(x, y);
// 输出x和y的值
printf("x: %d, y: %d\n", getX(point), getY(point));
return 0;
}
请注意,由于C语言不支持类和方法,上述代码使用了结构体和函数来模拟类的行为。createMyPoint
函数作为构造方法,getX
和getY
作为获取属性的方法,setX
和setY
作为设置属性的方法。在main
函数中,我们创建了一个MyPoint
实例,并使用假设的学号来初始化它,然后输出了x
和y
的值。10
你觉得结果怎么样?