📜  C ++ |构造函数|问题8

📅  最后修改于: 2021-06-28 18:39:57             🧑  作者: Mango

#include 
using namespace std;
  
class Point
{
    int x, y;
public:
   Point(int i = 0, int j = 0) { x = i; y = j; }
   int getX() { return x; }
   int getY() { return y; }
};
  
int main()
{
    Point p1;
    Point p2 = p1;
    cout << "x = " << p2.getX() << " y = " << p2.getY();
    return 0;
}

(A)编译器错误
(B) x = 0 y = 0
(C) x =垃圾值y =垃圾值答案: (B)
说明:如果我们不编写自己的副本,则编译器会创建一个副本构造函数。即使我们已经在类中编写了其他构造函数,编译器也会编写它。所以上面的程序工作正常。由于我们具有默认参数,因此分配给x和y的值为0和0。
这个问题的测验

想要从精选的最佳视频中学习和练习问题,请查看《基础知识到高级C的C基础课程》。