#include <iostream>
#include <cstdlib>
using namespace std;
char* strcpy(char *p, const char *s){
char *t = p;
while (*p++ = *s++){
}
return t;
}
class Test{
private:
int m_x;
int m_y;
char* p;
public:
//无参数的构造函数
Test(){
m_x = 0;
m_y = 0;
p = (char*)malloc(100);
strcpy(p, "vvcat");
}
//析构函数 : ~+类型 没有任何的参数
~Test(){
cout << "Test 的析构函数~Test() 被调用了" << endl;
if (p != NULL) {
cout << "p的堆空间被释放了" << endl;
free(p);
p = NULL;
}
}
void printT(){
cout << "x : " << m_x << ", y: " << m_y << endl;
}
void init(int x, int y){
m_x = x;
m_y = y;
}
};
void test1(){
Test t1; //调用无参数的构造函数
//t1 是一个局部变量, 生命周期是test1()一样的, 在test1()函数执行完毕需要 先销毁t1变量
//t1对象销毁之前,系统就会默认的调用t1的析构函数
t1.printT();
return;
}
int main(void){
test1();
}
03-21
3077
12-02
1万+