• c++——对象的构造和析构函数、构造函数的分类及调用


    1构造函数和析构函数的概念

    有关构造函数

    1构造函数定义及调用

    1)C++中的类可以定义与类名相同的特殊成员函数,这种与类名相同的成员函数叫做构造函数;

    2)构造函数在定义时可以有参数;

    3)没有任何返回类型的声明。

    2构造函数的调用

    自动调用:一般情况下C++编译器会自动调用构造函数

    手动调用:在一些情况下则需要手工调用构造函数

    有关析构函数

    3)析构函数定义及调用

             1)C++中的类可以定义一个特殊的成员函数清理对象,这个特殊的成员函数叫做析构函数

    语法:~ClassName()

    2)析构函数没有参数也没有任何返回类型的声明

    3)析构函数在对象销毁时自动被调用

    4)析构函数调用机制

             C++编译器自动调用

    构造函数的分类及调用

    C++编译器给程序员提供的对象初始化方案,高端大气上档次。

    //有参数构造函数的三种调用方法

    class Test

    {

    private:

             int a;

             int b;

    public:

            

             //无参数构造函数

             Test()

             {

                       ;

             }

            

             //带参数的构造函数

             Test(int a, int b)

             {

                       ;

             }

             //赋值构造函数

             Test(const Test &obj)

             {

                       ;

             }

    public:

             void init(int _a, int _b)

             {

                       a = _a;

                       b = _b;

             }

    };

    1无参数构造函数

             调用方法: Test t1, t2;

    2有参构造函数

    有参构造函数的三种调用方法

    //有参数构造函数的三种调用方法

    class Test5

    {

    private:

             int a;

    public:

             //带参数的构造函数

             Test5(int a)

             {

                       printf(" a:%d", a);

             }

             Test5(int a, int b)

             {

                       printf(" a:%d b:%d", a, b);

             }

    public:

    };

    int main55()

    {

             Test5 t1(10);  //c++编译器默认调用有参构造函数 括号法

             Test5 t2 = (20, 10); //c++编译器默认调用有参构造函数 等号法

             Test5 t3 = Test5(30); //程序员手工调用构造函数 产生了一个对象 直接调用构造构造函数法

             system("pause");

             return 0;

    }

  • 相关阅读:
    Synalyze It! Pro v1.11.2
    C# 打开浏览器并 POST 提交信息
    Cocos2d-x iOS Mac环境编译出错 can't locate file for: -lpng -ljpeg -ltiff -lwebp -lfreetype -lwebsockets -lcurl
    Visual Studio 2008用过一段时间后编辑器自动提示(智能提示:Intellisense)功能失效
    iOS根据坐标数据点所在的坐标区域来动态显示到可视范围
    iOS关于百度地图坐标偏移的处理
    WPF画图性能问题
    Xcode Error: The service is invalid (0XE8000022) 解决方法
    引用-定位大量占用CPU的问题
    Semaphore信号量
  • 原文地址:https://www.cnblogs.com/long5683/p/9772981.html
Copyright © 2020-2023  润新知