类的静态成员
通过static定义 静态成员,被类的所有对象共享<br>(通过友元关系也可以实现 私有成员共享)
静态数据成员
类内声明 static,类外定义和初始化 类名::名
友元
通过友元关系实现数据共享,但是会破坏数据封装和数据隐藏
通过讲一个模块声明为另一个模块的友元,可以访问模块中封装和隐藏的数据
分类
友元函数
通过friend在类中声明友元函数
可以是普通函数 可以是其他类的成员函数
通过对象名访问 他类中protected 和private成员
友元类
通过friend 在另一个类中声明类
类中所有成员都可 访问 应以类中 protected 和 private成员
多文件结构 和 编译预处理指令
c++程序的一般组织结构
类声明文件 .h
类实现文件 .cpp
使用类文件 .cpp主函数文件
外部变量 与 外部函数
外部变量
extern int i;调用其他源文件的变量
外部函数
extern 调用其他文件函数
声明和定义函数时 extern加不加都行
!!!如果static修饰 变量/函数作用范围只是他的编译单元
标准c++库和命名空间
标准c++库
输入和输出
算法
存储管理类
运行环境支持
容器类与ADT
错误处理
命名空间
#include <iostream><br>using namespace std;
编译预处理
#include指令
#include<>标准库中搜索
#include“”先在当前目录搜索,然后再标准库中搜索
#define/udef指令
#define宏定义
#udef使宏定义失效
define操作符
条件编译指令
用于防止重复指令而报错,编译时忽略重复部分
当多次重复包含同一个头文件,会引起变量和类的重复定义错误
#if---#elif---#else---#endif
#ifdef---#else---#endif
#ifndef---#else---#endif
改错
构造函数 前面不加返回值类型
const变量 使用初始化列表 初始化
float类型返回值
x和y是private变量 不能直接输出
static静态成员变量 类内声明 类外初始化
t1是静态数据成员 只能调用静态成员函数