构造函数和析构函数
构造函数
-
构造函数会在实例化对象的时候执行,可以在实例化时传入参数。
-
构造函数没有返回值。不需要声明返回值。
-
构造函数的函数名与类名保持一致。
// class name: Player
Player(int xa = 0, int ya = 0){
// 构造函数,传入初始坐标进行初始化
x = xa;
y = ya;
cout << "你出生在:(" << x << ", " << y << ")\n";
}
析构函数
- 析构函数会在释放对象的时候执行。
- 析构函数没有参数,但是()不能省略。
// class name: Player
~Player(){
// 析构函数
cout << "你在(" << x << ", " << y << ")死亡\n";
}
完整例子:
#include <iostream>
using namespace std;
class Player{
private:
int x, y; // 玩家位置
public:
Player(int xa = 0, int ya = 0){
// 构造函数,传入初始坐标进行初始化
x = xa;
y = ya;
cout << "你出生在:(" << x << ", " << y << ")\n";
}
void getPos(){
cout << "你现在的位置:(" << x << ", " << y << ")\n";
}
void move(int xa, int ya){
cout << "move from (" << x << "," << y << ") to \
(" << x+xa << "," << y+ya << ")" << endl;
x += xa;
y += ya;
};
~Player(){
// 析构函数
cout << "你在(" << x << ", " << y << ")死亡\n";
}
};
int main()
{
Player player1(14,27);
player1.move(2,-3);
player1.getPos();
return 0;
}
标签:函数,int,与析构,xa,C++,Player,ya,构造函数
From: https://www.cnblogs.com/orzmiku/p/17644201.html