C++之构造函数的理解总结
2016-03-20 14:54
393 查看
构造函数:
与类同名,用于初始化的一种函数。定义写法与普通函数相同
构造函数和无参构造函数不冲突。(即有参数)。
有时要用到无参构造函数-----无参构造函数:
无参构造函数函数分为两种:
默认构造函数:
c++必须有构造函数,没有就会添加默认构造函数。
默认构造函数就是初始化为0;
一般是不需要显示定义,就是自己定义的。但用到对象数组时,就必须显示定义。
定义方式就是普通函数,但无参数
调用时,数组同指针一样,再用类函数时,可用-> 。数组也可用.xx表示,但要表明数组下标。
缺省参数构造函数:
就是初始化为别的值的构造函数。
在构造函数声明参数是,赋值。
默认构造函数和缺省构造函数一般只定义一个,都定义容易产生二义性冲突。
构造函数可以重载,但必须有不同的函数原型。
拷贝构造函数:
给类的对象初始化为类时,或者以对象作为参数时,会调用拷贝构造函数。
未定义编译器就会自己产生,但是有关指针的数据成员时,默认的拷贝构造函数就会出现指针悬挂问题。
自己定义构造函数时,和一般的构造函数一样,与类同名,没有返回类型,可以重载。
拷贝构造函数的参数常常是const类型的对本对象的引用。
析构函数:
在生命周期结束时,完成对对象的清理。
有什么错误之处,还希望大家多多指出^_^
与类同名,用于初始化的一种函数。定义写法与普通函数相同
构造函数和无参构造函数不冲突。(即有参数)。
有时要用到无参构造函数-----无参构造函数:
无参构造函数函数分为两种:
默认构造函数:
c++必须有构造函数,没有就会添加默认构造函数。
默认构造函数就是初始化为0;
一般是不需要显示定义,就是自己定义的。但用到对象数组时,就必须显示定义。
定义方式就是普通函数,但无参数
调用时,数组同指针一样,再用类函数时,可用-> 。数组也可用.xx表示,但要表明数组下标。
缺省参数构造函数:
就是初始化为别的值的构造函数。
在构造函数声明参数是,赋值。
默认构造函数和缺省构造函数一般只定义一个,都定义容易产生二义性冲突。
构造函数可以重载,但必须有不同的函数原型。
拷贝构造函数:
给类的对象初始化为类时,或者以对象作为参数时,会调用拷贝构造函数。
未定义编译器就会自己产生,但是有关指针的数据成员时,默认的拷贝构造函数就会出现指针悬挂问题。
自己定义构造函数时,和一般的构造函数一样,与类同名,没有返回类型,可以重载。
拷贝构造函数的参数常常是const类型的对本对象的引用。
析构函数:
在生命周期结束时,完成对对象的清理。
有什么错误之处,还希望大家多多指出^_^
相关文章推荐
- c语言:约瑟夫环的实现
- 5-16 求符合给定条件的整数集 c语言版
- 【c++】爬动的蠕虫
- 【c++】爬动的蠕虫
- 枚举类型的使用方法
- C++常识——C++类的大小
- 【c++】求符合给定条件的整数集
- 【c++】求符合给定条件的整数集
- 百练2973:Skew数
- 使用抽象工厂模式实现数据库替换管理 C++
- C++坑点集合 - 1 隐式调用和默认实现的构造函数的坑
- 探索C++0x: 1. 静态断言(static_assert)
- 5-18 二分法求多项式单根 C语言版
- 5-20 打印九九口诀表 (15分)c语言
- 5-19 支票面额 (15分)C语言
- 贪心算法—移动办公室桌子,占用走廊问题(1000,problem A)
- 1057. Stack (30)
- C语言中内存分配问题
- 排序——冒泡排序(C++)
- C语言第三篇:C语言数据类型及各数据类型所占内存字节数