GubE
2019-10-23 20:04
采纳率: 91.7%
浏览 420

大一新生,构造函数里的形参赋值0是什么作用?

class Point {

public:

Point(int xx=0 , int yy=0) {   //这里的int xx=0和int yy=0替换为int xx,int yy是不是也没有影响。
    x = xx;
    y = yy;
}

private:

int x, y;

};

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • J4cks0n 2019-10-23 21:37
    已采纳

    就是代表默认参数,这样子的话 当你用时比如
    直接Point a;
    这样可以编译通过,a.x就是0,a.y就是0

    如果不赋默认参数,你直接Point a;
    是报错的

    需要Point a(1,2);这样构造

    也可以改成Point(int xx=0, int yy)
    这样Point a(3)也行,代表a.x=0,a.y=3

    点赞 打赏 评论
  • 毕小宝 2019-10-23 21:44

    是设置默认值。此外,类的基本类型的成员变量,即使构造函数不设置值,也是有默认值的。

    点赞 打赏 评论

相关推荐 更多相似问题