C++ 结构体 里 函数
时间: 2025-02-12 16:48:09 浏览: 27
### C++ 结构体成员函数的定义与使用
在C++中,结构体不仅可以包含数据成员,还可以包含成员函数。这使得结构体的行为类似于类,区别在于默认访问控制不同——结构体中的成员默认为`public`,而类中的成员默认为`private`。
#### 定义带成员函数的结构体
下面是一个简单的例子来展示如何在一个结构体中定义成员函数:
```cpp
struct Point {
int x;
int y;
// 构造函数初始化成员变量
Point(int initX = 0, int initY = 0) : x(initX), y(initY) {}
// 成员函数用于打印坐标点的位置
void displayPosition() const {
std::cout << "Point at (" << x << ", " << y << ")" << std::endl;
}
// 修改坐标的成员函数
void moveBy(int dx, int dy) {
x += dx;
y += dy;
}
};
```
上述代码展示了两个基本操作:通过构造函数设置初始值以及提供方法修改这些值[^1]。
#### 使用带有成员函数的结构体实例
创建并调用该结构体的方法如下所示:
```cpp
int main() {
// 创建一个Point对象,并指定其位置
Point p(3, 4);
// 调用displayPosition显示当前位置
p.displayPosition();
// 移动这个点到新的位置
p.moveBy(-1, 2);
// 显示移动后的结果
p.displayPosition();
}
```
这段程序会先输出`(3, 4)`表示原始位置,再输出`(2, 6)`作为更新后的位置。
对于继承关系下的虚函数和最终覆盖(`final`)特性,在某些情况下可以防止子类重写父类已实现的功能。然而需要注意的是,只有当基类声明了一个虚拟成员函数时,派生类才能标记它为`final`;如果尝试将非虚拟成员设为`final`则会导致编译错误[^2]。
阅读全文
相关推荐


















