C++析构函数

本文介绍了C++中的析构函数,它在对象销毁时自动调用,用于释放资源。析构函数无返回值,无参数,且不可重载。在示例中展示了如何定义和使用析构函数,以及其在内存管理中的作用。
部署运行你感兴趣的模型镜像

C++析构函数

C++析构函数

在创建对象的时候系统会自动调用构造函数,在对象需要被销毁的时候同样系统会自动调用一个函数,这个函数被称之为析构函数。
析构函数就是用于回收创建对象时所消耗的各种资源。与构造函数类似,析构函数也是一个成员函数。析构函数与普通成员函数相比,有如下特征:
无返回值;
没有参数,不能被重载,因此一个类也只能含有一个析构函数;
函数名必须为“类名”的形式,符号“”与类名之间可以有空格。

#include <iostream>

using namespace std;

class book
{
public:
    book(){}
    book(book &b);
    book(char* a, double p = 5.0);
    ~book();
    void display();
private:
    double price;
    char *title;
};

book::book(book &b)
{
    price = b.price;
    title = b.title;
}

book::book(char* a, double p)
{
    title = a;
    price = p;
}

book::~book()
{
    cout<<"~book " <<endl;
    //delete p;
    //delete[] p;
}

void book::display()
{
    if(title == NULL)
    {
        cout<<"The title null " <<endl;
    }
    else
    {
        cout<<"The price of "<<title<<" is $"<<price<<endl;
    }
}

int main()
{
    cout << "Hello World!" << endl;

//    book b;
//    b.display();

    book b2("books");
    b2.display();

    book b3(b2);
    b3.display();

    return 0;
}
book::~book()
{
    cout<<"~book " <<endl;
    //delete p;
    //delete[] p;
}

您可能感兴趣的与本文相关的镜像

ACE-Step

ACE-Step

音乐合成
ACE-Step

ACE-Step是由中国团队阶跃星辰(StepFun)与ACE Studio联手打造的开源音乐生成模型。 它拥有3.5B参数量,支持快速高质量生成、强可控性和易于拓展的特点。 最厉害的是,它可以生成多种语言的歌曲,包括但不限于中文、英文、日文等19种语言

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

静思心远

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值