不正确的输出和变量未用Eclipse CDT初始化构造函数
Incorrect output and variables not initializing in constructor with Eclipse CDT
有人可以向我解释为什么此代码在Eclipse CDT中不起作用?当我运行程序时,输出为" 310598136"。我还在第7行中遇到一个错误,上面写着"'成员x(和y(在此构造函数中没有初始化",但我不知道为什么当我在构造函数中有变量和私有中分配的变量时,它们没有初始化班级的部分。有人可以告诉我我做错了什么吗?
#include <iostream>
using namespace std;
class Rectangle
{
public:
Rectangle(int a, int b)
{
a = x;
b = y;
}
int getArea();
private:
int x;
int y;
};
int Rectangle::getArea()
{
return x * y;
}
int main()
{
Rectangle bob(2,3);
cout << bob.getArea();
return 0;
}
您已在构造函数中换了变量的顺序。
将其更改为
Rectangle(int a, int b) : x(a), y(b) {}
或更好的
Rectangle(int x, int y) : x(x), y(y) {}
c 足够聪明,您可以在参数列表中使用与成员变量相同的名称,并且当您仅复制该值时,您也可以这样做 - 它可以非常清楚地传达该参数的内容。。
始终记得按照您在课堂上声明的顺序初始化成员变量。
相关文章:
- Eclipse CDT:单个项目中有多个C++文件
- 使用 Eclipse CDT 进行 Cplex 配置
- Eclipse CDT clang 工具链 - 无法从链接器选项中删除 stdlibc++,但可以添加 libc++,E
- 将编译器开关添加到 Eclipse CDT 内置编译器设置生成?
- Eclipse CDT 条件编译?
- 在 Eclipse CDT 中使用 Visual Studio Toolchain 包含 3rd 方库
- 在静态库中使用 #ifdef(C++,Eclipse CDT)
- Eclipse CDT 项目中的缺省C++标准是什么?
- Eclipse CDT 将 static_assert(cond) 突出显示为语法错误
- 不正确的输出和变量未用Eclipse CDT初始化构造函数
- Eclipse CDT:传递具有相同文件扩展名的多个程序参数
- 在 CentOS 7 上通过 devtoolset-4 安装的 Eclipse CDT 使用了错误版本的 gcc/g++
- Eclipse CDT不确定的参考(通过mysys2下载的软件包)
- Eclipse CDT 不了解方法定义是什么
- Eclipse CDT 打开声明的自动类型变量
- Eclipse CDT将方法定义定义到标头文件
- Eclipse CDT - 使用模板默认值时的"Invalid arguments"
- Eclipse-cdt boost shared_ptr.hpp:目录中没有此类文件,但它的一部分是包含文件
- eclipse cdt索引c文件的结果与c 文件不同
- 在 Eclipse CDT 中执行 sudo make install