请问画红横线的是什么作用,还有为什么可以使用Complex(float x=0,float y=0) :_x(x),_y(y) 为什么可以这样使用加粗的内容。初学者望解答。
c++单目运算符重载
请问画红横线的是什么作用,还有为什么可以使用Complex(float x=0,float y=0) :_x(x),_y(y) 为什么可以这样使用加粗的内容。初学者望解答。
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- 冷0_O 2022-11-03 19:02关注
横线处是构造函数,初始化类变量时会被调用。
加粗的内容是属于初始化列表的语法。_x(x)的小括号里面的x代码你传入的参数,_x就是类的成员变量了。就是把你传入参数的值赋值给对应的成员变量。
而float x=0,float y=0就是指初始化默认值,你如果不传值就执行这个值。
你看我的代码,初始化了两个类变量,a我没传值,x、y就都是0,b我给了两个参数,那么x、y就是我传入的参数的值。#include <iostream> class Complex { public: Complex(int x = 0, int y = 0) : x(x), y(y) {} ~Complex() {} void PrintData() { std::cout << "x = " << this->x << std::endl << "y = " << this->y << std::endl; } private: int x; int y; }; int main(void) { Complex a; a.PrintData(); Complex b{5, 6}; b.PrintData(); }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥15 问题重发,R语言:代码运行过程中出现如下警告,请求如何解决!
- ¥15 神经网络模型一直不能上GPU
- ¥15 苍穹外卖拦截器token为null
- ¥15 pyqt怎么把滑块和输入框相互绑定,求解决!
- ¥20 wpf datagrid单元闪烁效果失灵
- ¥15 券商软件上市公司信息获取问题
- ¥100 ensp启动设备蓝屏,代码clock_watchdog_timeout
- ¥15 Android studio AVD启动不了
- ¥15 陆空双模式无人机怎么做
- ¥15 想咨询点问题,与算法转换,负荷预测,数字孪生有关