类的统一对象作为参数
Unitialized object of a class as parameters
我正在编写一个程序,该程序使用一个用于复数的类。我想使用函数void Input(Complex z)
读取复数的实部和虚部,并将它们分配给复数z(这是参数(,但我得到了错误使用了未初始化的局部变量和警告"使用未初始化的内存"。
我应该更改什么?
class Complex
{
float x, y;
public:
float modul() { return sqrt(x * x + y * y); };
void setcomplex(float a, float b) { x = a; y = b; };
void getcomplex() { cout << "(" << x << "," << y << ")"; };
float getreal() { return x; };
float getimaginar() { return y; };
};
Complex suma(Complex a, Complex b)
{
Complex c;
c.setcomplex( a.getreal() + b.getreal() , a.getimaginar() + b.getimaginar() );
return c;
}
void Input(Complex z)
{
float a, b;
cout << endl << "Real part:"; cin >> a;
cout << endl << "Imaginary part:"; cin >> b;
z.setcomplex(a, b);
}
int main()
{
Complex numar1;
Input( numar1);
numar1.getcomplex();
}
如果您想更改传递给函数并对新状态感兴趣的对象的状态,您需要通过引用函数来传递它:
void Input(Complex& z)
住在Godbolt上。
相关文章:
- 如何使用Visual Studio 2017在C++中为参数化对象数组使用唯一指针
- Arduino C++在构造函数中用参数声明对象数组
- 我使用向量来创建类对象列表.初始化向量时如何使用参数调用构造函数?
- 当指向对象的指针作为参数传递给 std::thread 时,内存可见性
- 如何在不使用指针的情况下将派生类的对象作为参数传递给基类中的函数?
- C++ 类对象作为函数参数
- 如何将对象数组作为参数传递给模板
- 使用向量初始化参数化构造函数的对象数组
- 如何将成员函数作为参数传递并在派生对象上执行方法列表
- 如何编写将展开以定义具有模板参数的对象的宏
- C++类对象 - 遍历基于参数的对象
- 将指针传递到成员的指针,从模板参数包到函数对象
- 如何将子类作为函数的参数传递给期望基类,然后将该对象传递到指向这些抽象类对象的指针向量中?
- 是否可以获取成员函数模板参数的拥有对象?
- C++多参数对象创建
- 在不创建参数对象的情况下解析constexpr函数
- 推断模板参数对象成员的类型
- 如何解析c++ v8中的参数对象
- 当默认参数对象被销毁时
- 为什么函数不能更改其参数对象的地址/引用值?