在C++的学习过程中,来分享类对象的创建过程与释放过程,即类对象的构造函数与析构函数;
//********************************************
创建过程:
分配内存(对象)-> 父类构造函数-> 成员的构造函数-> 自己的构造函数
父类构造的顺序:按照继承表从左到右依次构造。
成员构造的顺序:按照声明顺序从上至下依次构造
释放过程:
自己的析构函数 -> 成员析构函数-> 父类析构函数-> 释放内存(对象)
析构成员的顺序:按照声明顺序从上至下依次析构
析构父类的顺序:按照继承表从左到右依次析构
//*********************************************
实现的C++代码:
#include <iostream>
#include <string.h>
#include <stdlib.h>
using namespace std;
class A
{
public:
A(void)
{
cout << "我是类A的构造函数" << endl;
}
~A(void)
{
cout << "我是类A的析构函数" << endl;
}
};
class B
{
public:
B(void)
{
cout << "我是类B的构造函数" << endl;
}
~B(void)
{
cout << "我是类B的析构函数" << endl;
}
};
class User : public A
{
char* name;
char* pass;
B b;
public:
User(const char* name,const char* pass)
{
this->name = new char[strlen(name)+1];
strcpy(this->name,name);
this->pass = new char[strlen(pass)+1];
strcpy(this->pass,pass);
cout << "构造函数" << endl;
}
~User(void)
{
delete name;
delete pass;
cout << "析构函数" << endl;
}
};
int main()
{
User* user = new User("zzzz","1234");
cout << "----------" << endl;
delete user;
}