c++类的构造函数类型介绍及其特点
来源:互联网 发布:java字符串截取前几位 编辑:程序博客网 时间:2024/05/21 05:08
本人小白,最近刚开始学c++,正在在学习类,这里根据自己所学的,总结一下在类中很重要的一类成员函数-构造函数,有什么不对的地方或者说的不准确的地方欢迎各位指出
类的分类大概可以分为三类,即默认构造函数,一般构造函数,以及拷贝构造函数
ps:还有一种构造函数叫做无参构造函数,个人觉得默认构造函数与无参构造函数可以归为同一类
1.默认构造函数 (无参构造函数)
如果创建一个类你没有写任何构造函数,则系统会自动生成默认的构造函数,或者写了一个不带任何形参的构造函数
class A{ private: int a; public: int getI() {return i;}}
这个类中没有写任何构造函数,因此系统会自动生成默认的构造函数,将a的值默认为0
class A{ private: int a; public: A() {a = 1;} int getI() {return i;}}
有构造函数但是没有形参,这时系统就不会再自动生成这样一个默认的构造函数,如果想确定初始值,则需要自己显示地写出来
2.一般构造函数(也称重载构造函数)
一般构造函数可以有各种参数形式,一个类可以有多个一般构造函数,前提是参数的个数或者类型不同(基于c++的重载函数原理)
class A{ private: int a; public: A(int integer) {a = integer;} // 传入一个参数Integer,并将integer的值赋给a int getI() {return i;}}
3.拷贝构造函数
拷贝构造函数参数为类对象本身的引用,用于根据一个已存在的对象复制出一个新的该类的对象,一般在函数中会将已存在对象的数据成员的值复制一份到新创建的对象中。参数(对象的引用)是不可变的(const类型)。此函数经常用在函数调用时用户定义类型的值传递及返回。
A (const A & B){ this->a = B.a (将类B中成员的值复制过来)}
拷贝构造函数相比其他两种更为复杂,我也不能说的太清楚,引用一篇大神的博客来介绍
c++拷贝构造函数详解
谢谢啦~(≧▽≦)/~啦啦啦
0 0
- c++类的构造函数类型介绍及其特点
- NOSQL的类型及其特点
- 逆向 C++-- 识别类及其构造函数
- 子父类中构造函数的特点
- 子父类中构造函数的特点
- 字父类中构造函数的特点
- 子父类中构造函数的特点
- 子父类构造函数的特点
- js Date类型的构造函数及其parse的用法
- 高性能MySql进化论(六):常见索引类型的原理及其特点的介绍
- 高性能MySql进化论(六):常见索引类型的原理及其特点的介绍
- 高性能MySql进化论(六):常见索引类型的原理及其特点的介绍
- 高性能MySql进化论:常见索引类型的原理及其特点的介绍
- 介绍一下UML的主要功能及其特点
- 虚基类及其派生类的构造函数
- 虚基类及其派生类的构造函数
- 拷贝构造函数及其参数类型
- 拷贝构造函数及其参数类型
- VS2015,C++实现前缀、中缀、后缀表达式求值、前缀转中缀、前缀转后缀。
- WOJ 1608 状压dp
- jQuery点击按钮实现div的隐藏和显示切换效果
- c++第三次实验-1
- c++定点设置小数点位数
- c++类的构造函数类型介绍及其特点
- Java编码规范
- c++第3次上机-2
- 机房重构之导出excel
- Java各种对象理解(转)
- 输出1-100之间的奇数
- hihocoder 1259 (数位DP)
- C++如何实现单例模式
- [BZOJ2186][Sdoi2008]沙拉公主的困惑