zoukankan      html  css  js  c++  java
  • 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;

    }

  • 相关阅读:
    在dubbo工程中,使用druid监控
    docker在windows下上传文件到容器
    Docker容器Tomcat部署war包
    You are using the runtime-only build of Vue where the template compiler is not available. Either pre
    Vue项目用了脚手架vue-cli3.0,会报错You are using the runtime-only build of Vue where the template compiler is not available
    输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。
    Github上传代码菜鸟超详细教程
    23种设计模式
    java面试
    latex输入希腊字母
  • 原文地址:https://www.cnblogs.com/long5683/p/9772981.html
Copyright © 2011-2022 走看看