1.标识符的作用域、可见性、生存期

作用域:

  • 函数原型作用域:函数声明时使用
  • 局部作用域:{}
  • 类作用域 :
  • 文件作用域
  • 命名空间作用域:using 

可见性:从内向外看,应用场景:重复的标识符的可见性

生存期:

  • 静态生存期:static
  • 动态生存期:  

2.类的静态数据成员

  • static修饰
  • 属于整个类,不属于某个对象
  • 声明在类内,定义和初始化在类外

3.类的静态成员函数

  • 用于处理静态数据成员
  • 不能知道是哪个对象调用了该函数

4.类的友元

  • friend修饰
  • 破坏数据封装和数据隐藏的机制,增加灵活性
  • 友元函数
    • 在友元函数中可以访问private和protected成员,需通过对象访问(对象的常引用做参数)
  • 友元类
    •  单向友元

 

5.共享数据的保护:常类型const

  • 常类型:
    • 常对象:定义时初始化,const 类名 对象名
    • 常成员:
      • 常数据成员
      • 常成员函数:
        • 类型说明符  函数名(参数表) const
        • 只处理常对象
        • 成员函数加const和不加const,是有区别的,在处理常对象时,编译器会自动调用常成员函数
    • 常引用:const 类型说明符 &引用名
    • 常数组:类型说明符 const 数组名[大小]
    • 常指针:

6.多文件结构

  • 类声明文件(.h)
  • 类实现文件(.cpp)
  • 类的使用文件(main()所在.cpp)
  •  

 外部变量:extern

 外部函数:调用前进行声明即可

将变量和函数限制在编译单元内: namespace

标准C++库:输入输出类、容器类和抽象数据类型、存储管理类、算法、错误处理、运行环境支持

编译预处理:

  • #include
    • #include<> 系统库文件
    • #include(.h) 自定义库文件
  • #define
    • const取代字符常量
    • inline取代宏定义
  • #undef
  • #if常量表达式...#endif
  • #if常量表达式...#else...#endif
  • #if常量表达式1...#elif常量表达式2...#endif
  • #ifdef标识符...#else...#endif
  • #ifndef标识符...#else...#endif

 

posted on 2019-01-08 10:54  柠檬檬檬  阅读(210)  评论(0编辑  收藏  举报