码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2018-10-11 16:52:55      阅读:161      评论:0      收藏:0      [点我收藏+]

标签:自动   析构函数   amp   bsp   参数   str   main   概念   \n   

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("\na:%d", a);

         }

         Test5(int a, int b)

         {

                   printf("\na:%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;

}

 

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

标签:自动   析构函数   amp   bsp   参数   str   main   概念   \n   

原文地址:https://www.cnblogs.com/long5683/p/9772981.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!