关于c++中的构造函数

来源:百度知道 编辑:UC知道 时间:2024/04/29 03:42:57
#include<iostream.h>

class Point
{
public:
Point(int xx=0,int yy=0);

void getvalue()
{
cout<<x<<" "<<y<<endl;

}
~Point()
{
cout<<"对象删除中"<<endl;
}
private:
int x,y;
};

Point::Point(int xx=0,int yy=0)
{
cout<<"对象构造中"<<endl;
x=xx;
y=yy;
}
void main()
{
Point hu(5,4);
hu.getvalue();

}
这个程序的构造函数部分编译出错,大家帮我分析下,我是新手

改为以下代码就OK
#include<iostream.h>

class Point
{
public:
Point(int xx,int yy);

void getvalue()
{
cout<<x<<" "<<y<<endl;

}
~Point()
{
cout<<"对象删除中"<<endl;
}
private:
int x,y;
};

Point::Point(int xx=0,int yy=0)
{
cout<<"对象构造中"<<endl;
x=xx;
y=yy;
}
void main()
{
Point hu(5,4);
hu.getvalue();

}

构造函数实现的时候不用再写默认参数的值了,即把Point::Point(int xx=0,int yy=0)改为Point::Point(int xx,int yy)
(也许是声明部分不用写?记不清了,反正有一个不用写)