以下程序的输出是什么?
#include
using namespace std;
class Point
{
int x, y;
public:
Point(const Point &p) { x = p.x; y = p.y; }
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) x =垃圾值y =垃圾值
(B) x = 0 y = 0
(C)编译器错误答案: (C)
说明: “ Point p1;”行中存在编译器错误。 Point类没有没有任何参数的构造函数。如果我们编写任何构造函数,则编译器不会创建默认的构造函数。
这不是真的,也就是说,如果我们编写默认或参数化的构造函数,则编译器将创建一个副本构造函数。请参阅下一个问题。
这个问题的测验
想要从精选的最佳视频中学习和练习问题,请查看《基础知识到高级C的C基础课程》。