导图社区 C基础分析
C基础分析思维导图,主要内容有:C++标准、C和C++的区别、类与对象三部分内容。希望对你有所帮助!
JavaSE-JavaEEDB思维导图,包括:Spring、Hibernate框架、struts2框架、js+jquery+ajax、JSP、Servlet(后期补充)、HTTP协议。
Java SE知识思维导图,包括:Java基础语法、Java OOP编程、Java高级特性、JDK8、Eclispe等内容。
Java知识思维导图,包括:1、Java环境及配置;2、语法、数据类型及表达式;3、结构化程序设计;4、数组与字符串;5、类和对象。
社区模板帮助中心,点此进入>>
英语词性
互联网9大思维
组织架构-单商户商城webAPP 思维导图。
法理
刑法总则
【华政插班生】文学常识-先秦
【华政插班生】文学常识-秦汉
文学常识:魏晋南北朝
【华政插班生】文学常识-隋唐五代
【华政插班生】文学常识-两宋
C++基础分析
C++标准
命名空间
标准C++库中的所有组件都是在一个被称为std的名字空间中声明和定义的。
在采用标准C++的平台上使用标准C++库中的组件
using namespace std;
如果使用了名空间std
则在使用#include编译预处理命令包含头文件时,必须去掉头文件的扩展名.h,否则会出错
标准的输入输出
导入头文件<iostream>
cin
cin>>变量名
cout
cout<<变量名
endl
换行并清空缓冲区
动态分配内存与释放
创建
指针变量 = new 数据类型
释放
delete 指针
注意
用new获取的内存空间,必须用delete进行释放
对一个指针只能调用一次delete
用delete运算符作用的对象必须是用new分配的内存空间的首地址
作用域运算符
::
增强的for循环
缺省函数参数
C++中可以在声明函数时定义缺省函数值来减少一些编程工作
void ShowMessage(char *pMessage, int nLength = 1, int nColor = 0);
函数重载
函数函数之间 函数名一样 参数的类型 或者 各数不同
常量
再C和C++中的区别
C++建议使用const来定义常量
必须初始化
常量指针
函数添加const
引用
什么是引用
数据类型 &引用变量名 = 变量名; int ss=99; int &s1=ss;
引用是C++语言的一个特殊的数据类型描述
用于在程序的不同部分使用两个以上的变量名指向同一地址
使得对其中任一个变量的操作实际上都是对同一地址单元进行的
在这种两个以上变量名的关系上,被声明为引用类型的变量名则是实际变量名的别名
引用运算符为&
对引用进行操作,实际上就是对被引用的变量进行操作
引用不是值,不占存储空间,声明引用时,目标的存储状态不会改变
引用一旦被初始化,就不能再重新引用其他空间
引用最为函数的参数
指针变量的引用
由于指针也是变量,因此可以说明对指针变量的引用。例如: int *a=new int(100); int *&p=a; int b=666; p=&b;
注意区别地址符与引用符
C和C++的区别
区别
表面区别
语法
本质区别
思维方式
解决问题的方法
C语言是分析步骤
没有对象的概念
C++找东西
有对象的概念
类与对象
什么是类
是一组相同具有相同属性和行为的对象的抽象
什么是人类?
什么是对象
万物皆为对象
如:学生、成绩单、教师、课程...等等
对象都属于某个类
每个对象都是某个类的实例
如: 你、我、他都是人类 中文和英文都是语言类 小猫、小狗都是动物类
对象具有状态
对象的某些行为往往会改变自身的状态
如:我本来体重80kg,经过减肥体重为75kg了
对象具有属性和行为
每个对象都是唯一的
对象的唯一来自真实世界中事物的唯一
如:你、我、他...等等
程序中理解为内存地址的唯一
访问修饰符
公共的 public
受保护的 protected
私有的 private
构造函数
1、与类同名
2、无返回值
3、未定义构造函数系统默认调用无参构造
4、一旦定义构造函数系统就不会在调用默认的无参构造
析构函数
什么是析构函数
当一个对象生命周期结束时,其所占有的内存空间就要被回收
这个工作就由析构函数来完成,析构函数是“反向”的构造函数
析构函数的特点
析构函数不允许有返回值
析构函数不允许带参数
一个类中只能有一个析构函数
析构函数的应用
析构函数的作用正好与构造函数相反
对象超出其作用范围,对应的内存空间被系统收回或被程序用delete删除时,析构函数被调用
根据析构函数的这种特点,我们可以在构造函数中初始化对象的某些成员变量,给其分配内存空间(堆内存)
在析构函数中释放对象运行期间所申请的资源
练习
链表类
简单类关系
拷贝构造函数
参数是当前这个类的引用的 构造函数
如果在类中没有显式的声明一个拷贝构造函数,那么,编译器会自动生成一个来进行对象之间非static成员的位拷贝(Bitwise Copy)(或称浅拷贝)
this指针
区别全局函数与局部函数
只能在类成员函数中用,指向该成员函数被调用的对象
静态成员函数没有this指针
因为类只有一个静态成员函数实例,所以使用this指针没有什么意义。在静态成员函数中使用this指针会引起编译错误
重载,重写,隐藏
重写,覆盖
父类和子类
子类覆盖父类函数(虚函数)
作用域标示符
dongWu::hehe();
继承
单继承
多继承
class Bbb : public Aaa,public Ccc