构造函数时再对象创建时使用特定的值构造对象,或者将对象初始化一个特定的状态
构造函数的特征:构造函数与类名相同,没有返回值,通常声明为共有函数
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;
};