文档章节

类中的函数

世__界
 世__界
发布于 2015/04/21 20:56
字数 455
阅读 2
收藏 0

                                 类函数

一.构造函数与析构函数

  1. 使用构造函数的原因:由于类的封装性,类的变量不能像普通变量一样初始化

  2. 作用:在对象被创建时使用特定的值构造对象或者说将对象初始化为一个特定的状态。

  3. 构造函数在对象创建时系统自动调用。

  4. 如果程序中未声明,则系统自动产生出一个缺省形式的构造函数。

二.拷贝构造函数

  1. 拷贝构造函数是一种特殊德尔构造函数,其形式为本类的对象引用。

  2. 作用:使用一个对象(参数制定的对象),去初始化一个正在被建立的同类型对象。

  3. 声明形式:

    class   类名

    {

    public:

    类名(形参);    //构造函数

    类名(类名 &对象名):    //拷贝构造函数

    ........

    }

    类名::类名(类名 &对象名)         //拷贝构造函数的实现

    {函数体}

    注意:有三种情况会调用拷贝构造函数

    a.当用类的一个对象去初始化该类的另一个对象时系统自动调用它实现拷贝赋值

    b.若函数的形参为类对象,调用函数时,实参赋值给形参,系统自动调用拷贝构造函数。

    c.当函数的返回值时类的对象时,系统自动调用拷贝构造函数。

三.析构函数

  1. 作用:完成对象被删除前的一些清理工作

  2. 在对象的生存期结束的时刻系统自动调用它,然后再释放此对象所属的空间

  3. 如果程序中未声明析构函数,编译器将自动产生一个缺省的析构函数。

© 著作权归作者所有

上一篇: 类的组合
下一篇: 类与对象
世__界
粉丝 1
博文 24
码字总数 6923
作品 0
驻马店
私信 提问
Android NDK开发之旅22--C++--类 & 对象

C++ 类 & 对象 C++ 在 C 语言的基础上增加了面向对象编程,C++ 支持面向对象程序设计。类是 C++ 的核心特性,通常被称为用户定义的类型。 类用于指定对象的形式,它包含了数据表示法和用于处...

香沙小熊
2017/11/20
0
0
类的二三事

类 类的基本思想就是数据抽象和封装。数据抽象依赖于接口和实现。接口指类外成员对象可使用的函数接口。实现指类的成员函数和成员变量。封装实现了接口和实现的分离。 类本身就是一个作用域。...

sdoyuxuan
2017/04/07
0
0
覆盖、重载、多态 的理解

覆盖: 在基类中定义了一个非虚拟函数,然后在派生类中又定义了一个同名同参数同返回类型的函数,这就是覆盖了。 在派生类对象上直接调用这个函数名,只会调用派生类中的那个。 重载: 在基类...

被使用的文件
2015/12/15
80
0
C++多重继承与虚基类及与.NET的比较

多重继承 前面我们介绍的派生类只有一个基类,称为单基派生或单一继承。在实际运用中,我们经常需要派生类同时具有多个基类,这种方法称为多基派生或多重继承。 2.1 多重继承的声明: 在 C+...

老朱教授
2017/10/16
0
0
c++知识点总结

基类指针可以只想子类,子类的不能指向父类。父类可以认为是内结构体,子类是外结构体,和c的原则一样,内部的能用宏替换为外部的,而外部的只有知道内部的名称才能找到,编译器不知道你将采...

首席执行官机器人
2016/12/17
26
0

没有更多内容

加载失败,请刷新页面

加载更多

Java描述设计模式(14):解释器模式

本文源码:GitHub·点这里 || GitEE·点这里 一、解释器模式 1、基础概念 解释器模式是对象的行为模式。给定一个语言之后,解释器模式可以定义出其文法的一种表示,并同时提供一个解释器。客...

知了一笑
20分钟前
4
0
019、Kubernetes 安装集群

概述 kubeadm 是 kubernetes 的集群安装工具,能够快速安装 kubernetes 集群,安装 kubernetes 主要是安装它的各个镜像,而 kubeadm 已经为我们集成好了运行 kubernetes 所需的基本镜像。但由...

北岩
34分钟前
4
0
Java每日面试题_02

13、Java中实现多态的机制是什么? Java中,靠的是父类或接口定义的引用变量可以指向子类或具体实现类的实例对象,而程序调用的方法在运行期才动态绑定,就是引用变量所指向的具体实例对象的方...

庭前云落
35分钟前
4
0
kafka 生成者,消费者 demo

写生成者和消费者 producer 生产者 public class ProducerDemo {public static void main(String[] args) throws Exception {Properties props = new Properties();props.put("zk......

Garphy
41分钟前
4
0
各版本JDK:JDK6;JDK7;JDK1.8;JDK11;JDK13

百度网盘 链接: https://pan.baidu.com/s/1S1W6XQOEj4m8uRQZ3rMbNA&shfl=shareset 提取码: 1jke jdk-13.0.1 jdk-11.0.5 jdk-8u231 华为镜像 链接: https://repo.huaweicloud.com/java/jdk/......

孑竹三秋
44分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部