木子剑
生命不熄,学习不止!

除了析构函数测试外,也有子类 父类相关内容:

#include <iostream>
#define log(x) std::cout<<x<<std::endl

using namespace std;

/* 父类,构造函数等 */
class String{
    public:
        const char* a;  // 俩个字符指针
        const char* b;
        
        int x,y;       //  俩个整型变量
        
        String(const char* str):a(str),b(str)  //构造函数1,使用初始化列表实现
        {
            log("char构造函数");
        }        
        
        String(int str):x(str),y(str)  //构造函数2
        {
            log("int构造函数");
        }
        
        String(void){}  //构造函数3,默认的
        
        ~String(void)
        {
            log("String析构函数");
        }
                
};

/*  子类对像gg */
class gg:public String{  
public:
    void fun(String obj)  // 临时对像,会产生析构函数
    {
        log("gg---fun--");
    }
};

/* 测试mian */
int main(void)
{   
   String ri("1212");   // 对应的构造函数
   
   String* prr;         // 定义一个指针
   prr = new String;    // 申请一个足够大的内存
   delete  prr;         // 删除内存,会调用析构函数
   
   gg op;               // 子类对像 
   op.fun(ri);          // 也调用一次析构函数   
   
   cin.get();           // 暂停功能
} 

 

执行如下所示:

 

 

所以,析构函数是啥?就是对像被消毁时,执行的一个成员函数,主要作用就是delete回收资源,

C++真是太灵活了,感觉有点像乱伦的操作。。。

 

posted on 2021-10-22 23:32  木子剑  阅读(45)  评论(0编辑  收藏  举报