面向对象的三大基本特征:封装、继承和多态。类对象通过public/private/protected关键字实现对象的封装,封装后通过继承实现多样性,而这个多样性又需要通过多态来完成。 假设要实现一个攻...
C++类中const类型成员变量的初始化
const修饰的变量是不可更改的,在C++ 11标准中可以使用以下方式初始化: [crayon-66064867db20a245068718/] (更多…)
C++类对象的声明方式和注意事项
定义以下类: [crayon-66064867dbbd1943797205/] (更多…)
面试题:C++中malloc/free/new/delete/new[]/delete[]的差别
一、几者的区别 malloc/free是c语言中分配内存空间的函数,malloc创建空间,free释放空间。 new/delete是c++中分配内存的操作符,new创建空间,delete删除空间。 n...
指针数组、数组指针和函数指针
以下数据声明都代表什么含义: float(**def)[10]; double*(*gh)[10]; double(*f[10])(); int*((*b)[10]); long (*fun)int;...
链表的遍历和反转
一、链表的遍历 链表的遍历算是十分简单了,从头到尾获取next指针的值,如果next不为0,一直打印。 [crayon-66064867dd95b847865314/] 这是一个链表和双向链表都可以使...
计算机中的字节序
一、概述 字节序用来表示数据在内存中的排布方式,它分为两种:高字节序和低字节序,也被称为大小字节序。因为内存是从低到高布局,所以如果内存的低位存的是数据的低位,该字节序被称为低字节序。而如果内存的低位...
C++构造函数的执行顺序
一、构造函数的执行规则 C++构造函数的调用顺序为: 如果类中包含静态成员变量,先执行静态成员变量的构造函数。 如果类是派生类,则先执行基类的构造函数。同样如果基类也是一个派生类,它也要先执行基类的构...
C++全局变量和静态变量的区别
一、全局变量 全局变量默认是静态的,通过extern关键字声明后可以在多个文件中使用。 具体可参考:C++变量的声明、定义和extern关键字 header.h [crayon-66064867df7...
C++变量的声明、定义和extern关键字
一、变量的声明和定义 C++的分离编译机制允许程序拆分成多个文件来写,最常见的是在头文件中进行声明,源文件中进行定义,然后一起编译: [crayon-66064867e0acb827005797/] ...
8