构造函数通常用于在实例化对象时自动对内部数据成员初始化,设置初始值、分配内存空间等。
而析构函数则用于删除对象时做收尾工作,比如释放申请的空间等。
要创建一个对象,就得调用构造函数。
要销毁一个对象,就会被迫的调用析构函数。
如果成员函数声明称static,不创建对象也能调用 静态成员函数。
以定义一个Point类为例,构造函数的定义如下:
class Point
{
private:
int x;
int y;
public:
Point()//无参构造函数,无需写函数类型
Point(int x, int y)//有参构造函数
Point(int x = 0, int y = 0)//带默认参数的构造函数,如果有这个可以省略无参构造函数,因为两个参数都不写的话编译器不知道用哪个了。实际有这一个构造函数就可以了,所有情况都包括。
}
//函数实现方法
Point::Point(int x = 0, int y = 0)
{
//这里的形参和类成员重名了,可以用this指针来, 最好不用相同的名称以免造成误解
this->x = x;
this->y = y;
}
错误的那句改成这样就好了
matris m2=new matris(2,3,data);
你数组的定义写法很不好,看起来不直观
double[][] data={{1,2,3},{4,5,6}};写成这样多好啊
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)