• 《C++ Primer》 第12章 类


    1.类是C++最重要的特征。 类就是定义了新的类型和作用域。类背后的思想是数据抽象和封装。

      class X{...}; //类的定义

    2.C++中,使用访问标号来定义类的抽象接口和实施封装。

      public 构成了类对象的公用界面,程序所有部分可以访问public成员;

      private 封装了类型的实现细节,非成员函数不可以访问。

    3.成员函数可以被重载;在类内部定义的成员函数,自动作为inline处理,即被调用时,编译器将试图在一行内扩展该函数。不在类定义体内定义的inline成员函数,其定义通常应放在有类定义的同一头文件中。

    4.将类的定义放在头文件中,可以保证在每个使用类的文件中以同样的方式定义类。

      class X; //类的声明

    5.在类的声明之后,定义之前,类X是一个不完全类型(incompete type),即已知X类型,不知道包含哪些成员。

      不完全类型,不能定义对象,只能定义指向该类型的指针和引用,或用于使用作为函数返回类型和形参。

    6.定义类对象时,为其分配存储空间。

       X x1;//类对象定义

      类定义以分号结束,是因为类定义之后可以接一个对象定义列表。

      class X{} x1,x2,...; //通常不将对象定义在类定义之后。

    7.成员函数具有一个附加的隐形形参,即指向该类对象的一个指针this,与调用成员函数的对象绑定在一起。

      this指针的使用情况是,该函数返回对调用函数的对象的引用。

      class X{

        public:

          X& move(); // 该函数返回 X& 表明该函数返回指向自身类对象的引用。

      } 

    8.在普通的非const成员函数中,this是指向类类型的const指针。即可以改变this所指向的对象的值,但不能改变this所保存的地址。const指针值不能修改,意味着不能使其指向其他对象; //int *const ival。 能否使用该指针修改其所指向的对象的值,则完全取决于其所指向的对象的类型。

    9.在const成员函数中,this指针的类型是 指向const对象的const指针,即:既不能通过this改变所指向的对象,也不能改变this所指向的对象,即this保存的地址。

    10.基于成员函数是否为const,可以重载成员函数;同样,基于一个指针形参是否指向const,也可以重载函数。

    11.类的const成员只能使用const成员函数, 非const成员则都可以使用,但非const版本是一个更好的匹配。

    12.将可以修改的数据成员 声明为mutable。

    未完...

    类的作用域

  • 相关阅读:
    解决execjs 调用js 问题
    处理 get请求套字典问题
    js2py js逆向
    前端页面自适应
    newspaper抓新闻
    easygui
    pycharm 安装插件
    scrapy_代理使用
    SQLAlchemy 介绍,建表,及表的操作 (增 删 改 查)
    数据分析之pandas模块下
  • 原文地址:https://www.cnblogs.com/nimo299/p/2083800.html
Copyright © 2020-2023  润新知