Rectangle2D类Getter函数调用后控制台无输出的技术求助
解决Rectangle2D类Getter无输出的问题
嘿,我来帮你搞定这个问题!你遇到的控制台空白和Getter没返回预期值的问题,主要有两个关键点需要修复:
1. 你只是调用了Getter,但没有输出结果
你在main函数里调用了rec1.getHeight()这些方法,但没有用cout把返回值打印出来,所以控制台自然没有内容。
2. 确保默认构造函数正确初始化成员变量
要让Getter返回默认值,你的Rectangle2D类的默认构造函数必须给成员变量(比如x、y、width、height)设置初始值。
修复后的完整代码示例
Rectangle2D.h 文件
#ifndef RECTANGLE2D_H #define RECTANGLE2D_H class Rectangle2D { private: // 私有成员变量 double x; double y; double width; double height; public: // 默认构造函数,设置默认值(可根据需求修改) Rectangle2D() : x(0.0), y(0.0), width(1.0), height(1.0) {} // Getter方法,加const是最佳实践 double getX() const { return x; } double getY() const { return y; } double getWidth() const { return width; } double getHeight() const { return height; } }; #endif
main.cpp 文件
#include <iostream> #include "Rectangle2D.h" using namespace std; int main() { Rectangle2D rec1; // 调用Getter并将结果输出到控制台 cout << "X坐标: " << rec1.getX() << endl; cout << "Y坐标: " << rec1.getY() << endl; cout << "宽度: " << rec1.getWidth() << endl; cout << "高度: " << rec1.getHeight() << endl; return 0; }
关键说明
- 默认构造函数用初始化列表给成员变量设置了默认值,你可以根据作业要求调整这些数值
- 在main函数中,用
cout把每个Getter的返回值打印出来,这样控制台就能显示预期结果了 - Getter方法加上
const修饰符,表明这个方法不会修改类的成员变量,是C++类设计的最佳实践
这样修改后,运行程序就能看到默认构造函数设置的数值输出在控制台上啦!
内容的提问来源于stack exchange,提问作者saucychicken
相关产品推荐
相关产品推荐

