• C++ 语言程序设计(清华大学)2


    面向对象

    1.面向对象程序基本特点:抽象、封装、继承、多态

    2.类分为:公有类型成员public(接口),私有类型成员private(本类函数访问,类外要用友元函数访问),保护类型成员protect(在继承派生时不同)

    3.类中成员之间直接使用成员名互相访问。从类外访问成员使用"对象名.成员名"方式访问public成员

    4.构造函数的作用:在对象被创建时使用特定的值构造对象,将对象初始化为一个特定的初始状态,没有返回类型(int void)和return语句。

    5.默认构造函数:写在构造函数下面,参数默认状态设为0初始化,以免忘记初始化时报错。

    6.委托构造函数:保持代码实现的一致性,修改一处,其他的委托构造函数同步修改

    7.复制构造函数:区别初始化复制 和 赋值(不用调用复制构造函数)。   简单程序可以使用默认的复制构造函数,如果有指针的话,默认复制构造函数的功能就不够用了,复制构造函数可以按照自己的意愿"复制"

      复制构造函数被调用的三种情况:定义一个对象时,以本类另一个对象作为一个初始值,发生复制构造;

                                                            如果函数的形参是类的对象,调用函数时,将使用实参对象初始化形参对象,发生复制构造;

                                                            如果函数的返回值是类的对象,函数执行完成返回主调函数时,将使用return语句中的对象初始化一个临时无名对象,传递给主调函数,此时发生复制构造

    8.析构函数:完成对象被删除前的一些清理工作,在对象的生存期结束的时刻系统自动调用析构函数,没有返回类型(int void)和return语句。

    9.类的组合:类中的成员是另一个类的对象,可以在已有的抽象基础上实现更复杂的抽象。

    10.前向引用声明:类应该先声明,后使用。如果需要在某个类的声明之前,引用该类,则应进行前向引用声明。前向引用声明只为程序引入一个标识符,但具体声明在其他地方。

    11.UML(可视化面向对象建模语言)简介

    12.结构体:在C++中,结构体是一种特殊形态的类,唯一区别是类的缺省访问权限是private,结构体的缺省访问权限是public。(类自私,结构体大方)。定义主要用来保存数据,而没有什么操作,一般使用结构体

    13.联合体:按最多字节数的成员占存储空间,成员类型每个时刻只有一个起作用

    14.枚举类:实质是整数的一个子集。优势是作用域强(其作用域限制在枚举类中),转换限制(枚举类对象不可以与整型隐式地互相转换),可以指定底层类型enum class Type: char{A,B,C}。

    数据的共享和保护

    1.标识符的作用域与可见性

    函数原形作用域:形参()       局部作用域:形参()和函数体内{}         类作用域:类体和类外实现的本类成员函数的函数体          文件作用域:开始于声明点,结束于文件结束的地方

    外层变量覆盖整个范文,当内层定义的变量与外层的变量同名,则内层变量会屏蔽外层变量

    2.对象的生存期

    静态生存期:函数内部声明静态生存期对象,要冠以关键字static。全局变量,具有静态生存期;静态局部变量,具有全局寿命,局部可见。只有第一次进入函数时被初始化。静态变量不初始化,默认为0。

    动态生存期:块作用域声明的,没有用static修饰的对象是动态生存期的对象(习惯称局部生存期的对象)。局部变量,具有动态生存期。

    3.类的静态数据成员:在类里用关键字static声明,为该类的所有对象共享,静态数据成员具有静态生存周期。必须在类外定义和初始化,用(::)来指明所属的类。

    4.类的静态函数成员:主要用于处理该类的静态数据

    非静态函数成员属于某一个对象,需要用对象名.函数名访问。静态函数成员除此之外,还能用类名.函数名调用。 .....................................................有很多疑问需要看第六章

    5.类的友元:通过将一个模块声明为另一个模块的友元,一个模块能够引用到另一个模块本是被隐藏的信息。在封装和效率方面达到平衡。

    6.共享数据的保护:

  • 相关阅读:
    拉钩爬取部分重写
    树莓派yolov3 测试训练结果时出现段错误或总线错误解决方法
    服务注册与发现【Eureka】- Eureka自我保护
    服务注册与发现【Eureka】- 服务发现Discovery
    服务注册与发现【Eureka】- 集群Eureka构建步骤
    服务注册与发现【Eureka】- 单机Eureka构建步骤
    服务注册与发现【Eureka】- Eureka简介
    SpringCloud正式开发前 -- 基础项目框架搭建
    服务注册与发现【Zookeeper】
    【校招】【内推】【阿里云】 ECS、神龙计算平台招聘|【经验分享】
  • 原文地址:https://www.cnblogs.com/yawenw/p/10720356.html
Copyright © 2020-2023  润新知