C++类与对象 构造函数 复制构造函数 析构函数

构造函数时再对象创建时使用特定的值构造对象,或者将对象初始化一个特定的状态

构造函数的特征:构造函数与类名相同,没有返回值,通常声明为共有函数

class point

{
public:

    point(int xx,int yy) {x=xx;y=yy;}   //构造函数 (1)

  //  point(int xx,int yy)                   //构造函数(2)

    int getx() {return x;}
    int gety() {return y;}
private:
    int x,y;

};

/*point::point(int xx,int yy)  //构造函数的函数体 ( 1,2的作用一样)
{
    x=xx;
    y=yy;
}*/

int main()
{
    point a(1,2);    //创建一个point的对象并调用构造函数
    cout<<a.getx();

}

复制构造函数是一种特殊的构造函数,形参为类 对象引用

#include <stdio.h>
#include <iostream>
#include <stdlib.h>
#include<algorithm>
#include<cstring>
#include<queue>
using namespace std;
class point
{
public:
    point(int xx,int yy) {x=xx;y=yy;}
    point(point &p);
    int getx() {return x;}
    int gety() {return y;}
private:
    int x,y;
};
point::point(point &p)
{
    x=p.x;
    y=p.y;
}
int main()
{
    point a(1,2);
    point b=a;
    cout<<a.getx();

}

析构函数:完成对象被删除前的一些工作。再对象被调用之后,系统就会调用析构函数,来进行扫尾工作。

析构函数的特征:没有参数。

析构函数与构造函数的区别:析构函数与构造函数的调用顺序时相对的。

class point
{
public:
    point(int xx,int yy) {x=xx;y=yy;}
    ~point();            //析构函数
    point(point &p);         
    int getx() {return x;}
    int gety() {return y;}
private:
    int x,y;
};

猜你喜欢

转载自blog.csdn.net/soul778888/article/details/80460212