搬:C++中的构造函数(构造器)与析构函数(析构器)

本文主要介绍C++中的构造函数与析构函数,构造函数负责构建对象,完成初始化和内存分配;析构函数负责销毁对象,进行内存清理。文中阐述了二者的特性,还给出按继承中基类子类编写的程序代码示例,适合C++初学者参考。

C++中的构造函数(构造器)与析构函数(析构器)

该文章的程序代码是按继承中的基类子类来写的。跟基本的构造函数与析构函数一样。只是加了一丢丢东西。现在我们直奔主题!

C++构造函数和析构函数主要负责构建对象和销毁对象,在构建对象的时候系统自己调用类中的构造函数。在对象作用域结束后,调用析构函数销毁对象。

一般来说,构造函数用来完成事先的初始化和准备工作(申请分配内存),析构函数用来完成事后所必须的清理工作(清理内存)

初始构造函数之构造函数特性:

1.构造函数名---类名一样

2.永远没有返回值  

3.构造函数创建对象的时候调用构造函数

4.创建构造函数时,需要把构造函数放进类里面

5.结束申明时,则需要开始定义构造函数本身

 


构造函数放进类里面


定义构造函数本身

 

析构函数特点:
1.函数名:类名前加上~
2.没有返回值
3.没有参数,不可以被重载
4.必须公有
5.没有析构函数,默认析构函数

6.一个类中只能拥有一个析构函数

 


    #include <iostream>
    #include<string>
     
    class Baseclass//定义一个类
    {
    public:
        Baseclass();///构造器
        ~Baseclass();//析构器
        void dosometing();//方法
    };
     
    class Subclass : public Baseclass//定义子类
    {
    public:
        Subclass();
        ~Subclass();
    };
     
    //对基类构造器进行定义
    Baseclass::Baseclass()
    {
        std::cout<<"进入基类构造器......\n\n";
        std::cout<<"我在基类构造器干某事......\n\n";
    }
     
    //对基类析构器进行定义
    Baseclass::~Baseclass()
    {
        std::cout<<"进入基类析构器......\n\n";
        std::cout<<"我在基类析构器干某事......\n\n";
    }
    //对类的方法进行编写
    void Baseclass::dosometing()
    {
        std::cout<<"dosometing函数的调用\n\n";
    }
     
    //对子类构造器进行定义
    Subclass::Subclass()
    {
        std::cout<<"进入子类构造器。。\n\n";
        std::cout<<"我在子类构造器干某事......\n\n";
    }
    //对子类析构器进行定义
    Subclass::~Subclass()
    {
        std::cout<<"进入子类析构器。。\n\n";
        std::cout<<"我在子类析构器干某事......\n\n";
    }
     
    int main()
    {
        Subclass  duixiang;//定义一个对象
     
        duixiang.dosometing();
        std::cout<<"完事,收工!\n\n";
        return 0;
    }
     
    ///析构器是main将要结束的时候才进行的

欢迎大神批评指导,也欢迎正在学习C++初学者参考。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值