首页 > C++自动生成的成员函数

C++自动生成的成员函数

每个类都有构造函数和析构函数。如果程序员没有编写这些成员函数,C++将自动生成他们。

1、class::class()

    默认的构造函数。

   如果没有定义其它的构造函数就会自动生成。生成的代码使用随机值填充类的数据成员。

   当类的变量不带参数时就会被自动调用,如:

    class_type var;

2、class::class(const class& old_class)

    copy构造函数。

    除非程序员显式定义copy构造函数否则就会自动生成它。函数将原来类中的所有数据成员复制到新的类中。

    创建一个变量的副本时会自动调用这个成员函数:

    class_type first_var;

    class_type second_var(first_var);

    注意:如果不让编译器自动调用copy构造函数,可将它声明为private。

3、class::~class()

    析构函数。

    除非程序员定义一个析构函数,否则就会自动生成。

    销毁变量时会自动调用析构函数,对于自动变量,这出现在变量定义块的结尾部分。全局和静态变量是在程序退出时被销毁的。

4、class class::operator = (const class& old_class)

    赋值操作符,自动生成来处理一个对象到另一个对象的赋值。

转载于:https://www.cnblogs.com/tony-fly/archive/2013/04/12/3015866.html

更多相关:

  • 在C++有两种字符串流,一种在sstream中定义, 另一种在strstream中定义。 它们实现的东西基本一样。 strstream里包含 class strstreambuf; class istrstream; class ostrstream; class strstream; 它们是基于C类型字符串char*编写的...

  • 此文章完成度【100%】留着以后忘记的回顾。多写多练多思考,我会努力写出有意思的demo,如果知识点有错误、误导,欢迎大家在评论处写下你的感想或者纠错。     ORM介绍:对象关系映射(英语:(Object Relational Mapping,简称ORM,或O/RM,或O/R mapping),是一种程序技术,用于实现面向对象编程...

  • Bootstrap框架和inconfont、font-awesome使用 iconfont的使用:https://www.cnblogs.com/clschao/articles/10387580.html Bootstrap介绍   Bootstrap是Twitter开源的基于HTML、CSS、JavaScript的前端框架。  ...

  • Log4j->SLF4j->Logback是同一个人开发的 import lombok.extern.slf4j.Slf4j; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.boot.test.context.Spr...

  • HTML页面代码块: 1 2 3 4 5 6

    excel高级函数_PowerQuery 进阶之 M 函数学习

    草色新雨中, 松声晚窗里。之前我们学习 Power Query 都是用鼠标就完成了很多复杂的操作。虽然 PowerQuery 已经将大部分常用功能内置成到功能区。基本能完成我们大部分的报表自动化功能。但是总有些复杂的或者个性化的问题是开发团队没有预先想到的,这时我们就需要学习 M 语言。一、M 语言在哪里?M语言的函数公式有三个地...

  • 前言从2020年3月份开始,计划写一系列文档--《小白从零开始学编程》,记录自己从0开始学习的一些东西。第一个系列:python,计划从安装、环境搭建、基本语法、到利用Django和Flask两个当前最热的web框架完成一个小的项目第二个系列:可能会选择Go语言,也可能会选择Vue.js。具体情况待定,拭目以待吧。。。基本概念表达式表...

  • 1.1函数1.1.1什么是函数函数就是程序实现模块化的基本单元,一般实现某一功能的集合。函数名:就相当于是程序代码集合的名称参数:就是函数运算时需要参与运算的值被称作为参数函数体:程序的某个功能,进行一系列的逻辑运算return 返回值:函数的返回值能表示函数的运行结果或运行状态。1.1.2函数的作用函数是组织好的,可重复使用的,用来...

  • 原标题:基于Python建立深度神经网络!你学会了嘛?图1 神经网络构造的例子(符号说明:上标[l]表示与第l层;上标(i)表示第i个例子;下标i表示矢量第i项)单层神经网络图2 单层神经网络示例神经元模型是先计算一个线性函数(z=Wx+b),接着再计算一个激活函数。一般来说,神经元模型的输出值是a=g(Wx+b),其中g是激活函数(...

  • 在学习MySQL的时候你会发现,它有非常多的函数,在学习的时候没有侧重。小编刚开始学习的时候也会有这个感觉。不过,经过一段时间的学习之后,小编发现尽管函数有很多,但是常用的却只有那几个。今天小编就把常用的函数汇总一下,为大家能够能好的学习MySQL中的函数。MySQL常使用的函数大概有四类。时间函数、数学函数、字符函数、控制函数。让我...

  • 文章目录拷贝构造函数重载赋值运算符 赋值运算符和拷贝构造函数最大区别是赋值运算符没有新的对象生成,而拷贝构造函数会生成新的对象。 为了更加形象 准确得描述 赋值运算符和拷贝构造函数得区别,将详细通过代码展示两者之间得差异。 拷贝构造函数 首先从构造函数说起,在C++面向对象的设计中,每一个对象代表一个抽象集合的实体,此时每...

  •   1 //简单重写原型对象: 2 3 //一个构造函数Person 4 function Person(){ 5 6 } 7 //重写Person的原型 8 //把Person的原型赋值给一个新的对象 是我们重写的过程 9 Person.prototype={ 10 // 对于构造器 如果我们...