Point(int x=0,int y=0):x(x), y(y){}和Point(int x=0,int y=0){x=x;y=y}的差别

[复制链接]
查看11 | 回复3 | 2019-9-4 23:59:53 | 显示全部楼层 |阅读模式
最大的差别是第二个Point的x和y得不到你预期的值,因为x=x这两个x都被编译器解释为成员变量,而不是函数实参。...
回复

使用道具 举报

千问 | 2019-9-4 23:59:53 | 显示全部楼层
区别倒没多少,但是有些成员变量必须使用初始化列表进行初始化。 必须使用初始化列表的情形:因为不能直接在类定义中直接初始化变量,而const类型的变量和引用类型的变量又必须在声明时进行初始化,const类型的变量只能初始化不能进行赋值,比如hyong类中定义了const int a变量,而在hyong::hyong(){a=1;}这时就会发生错误,co...
回复

使用道具 举报

千问 | 2019-9-4 23:59:53 | 显示全部楼层
前面的是构造函数列表进行初始化,后面的是一般情况...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行