C++封装-类和对象

  • 1.类和类型

    • 类型和变量
      • 类型 = 类型数据 + 类型操作
    • 类与对象
      • 类:Cat 对象:cat
      • 类:Cat* 对象:new Cat()
  • 2.类封装

    • 封装的意义
      • 抽象,隐蔽性,安全性,耦合,内聚
    • 封装的目的:不让外部访问
    • 方法为什么不占内存?
      • 方法是动态的(是逻辑思维,算法,不存储任何东西)
      • #progma pack(1) :取消内存对齐!
    • 访问权限(访问权限是针对外部的)
      • public:公共访问权限
      • private:私有访问权限
      • protected:受保护的访问权限
    • 类大小与内存对齐
      • People类对象在内存中所占内存大小?
        • 类中非静态成员变量的大小与编译器内存对齐的设置有关。
    • struct与class
      • struct:访问权限默认为public
      • class:访问权限默认为private
  • 3.友元

    • 友元-friend
      • C++通过友元机制允许类的非公有成员被其他类或者非成员函数访问
    • 友元类和友元方法
      • 普通函数友元

    • 友元其他特性
      • ①友元只具单向性
        • 若类B是类A友元,类A不一定是类B友元,要看类中是否有相应声明。
      • ②友元不能被继承
        • B是A的友元类,C是B的子类,推不出C是A的友元。
      • ③友元不具传递性
        • B是A的友元,C是B的友元,推不出C是A的友元。
      • 注:友元包括声明与定义。友元声明默认为extern,友元类或友元函数作用域已拓展至包含该类定义的作用域,即便在类的内部定义友元函数也没关系。
  • 4.头文件和前置声明

    • 头文件
    • 前置声明作用
      • 告诉编译器有这一个类。
      • 前置声明能防止交叉引用问题。

猜你喜欢

转载自blog.csdn.net/u011616934/article/details/125435884