1. C语言和C++的区别?
C语言作为一种过程性语言,侧重于通过算法描述来指导计算机执行,将复杂程序分解为简单、可管理的模块。 C语言支持模块化编程,每个模块作为独立的单元。C++融合了3中不同的编程方式:C语言、面向对象语言、泛型编程。
2. 什么是类?
类是一种规范,定义了数据成员和成员函数,构成了一个新的数据类型。类描述了对象的特征和行为。对象是类的具体实例,即根据类的规范创建的数据结构。每个对象都拥有类所定义的属性和方法,通过对象可以进行实际的数据操作和功能实现。
3.什么是封装?
封装,类可以将内部数据(私有成员)隐藏起来,仅暴露有限的公共接口(公有成员函数)供外部访问,这样可以防止数据被不当修改。
4.什么是多态?
多态允许使用一个接口来表示不同类型的实体,从而能够在不修改现有代码的情况下,使程序能够处理多种数据类型或类的对象。这通过虚函数、重载运算符和函数重写等机制实现。
5.什么是继承?
继承是一种建立类与类之间关系的方式,子类可以继承父类的属性和方法,并在此基础上添加或修改,实现代码的复用和扩展。这有助于构建一个层次化的类结构,促进模块化和灵活性。
6. 预处理指令有什么用?
#include<>编译之前, 使用指定的内容特换该预处理指令。
#define定义符号常量,但是更好的使用const
7.头文件注意的问题是什么?
8.名称空间有什么用?
避免名称冲突。
9.const类型有什么用?
定义常量,编译器不允许修改该常量的值。比#define好,能确定类型,使用const将作用域限定再特定的作用域中。const可以用于更复杂的类型。
10.类型转换?
整形提升不会损失数据。
强制类型转换。
static_cast<>可以将值从一种类型转换为另一种类型。
11.auto声明?
让编译器可以初始值推断变量的类型,如STL中类型时,自动类型推断很方便。
12.什么是union?
union的各个成员共享相同的内存位置,因此只能存储一个成员的值。如果更改一个成员的值,会影响其他成员的值。大小等于最大成员的大小:union的大小等于其中最大成员的大小。
cpp
union UnionName {
data_type member1;data_type member2; data_type memberN;
};
13.什么是结构体?
结构是用户定义的类型,C++结构除了成员变量还有成员函数。
14.什么是enum?什么是枚举类?
enum是枚举类型,是一种用户自定义的数据类型,由一组常量组成,这些常量代表一个固定的整数值序列。可以提高代码的可读性,用有意义的名称而不是抽象的数字来表示。
cpp
enum EnumName {
enumerator1, enumerator2,..., enumeratorN
};
默认第一个枚举成员的值为0,之后每个成员的值依次递增1,也可以显示赋值。
C++11引入了enum class,可以更好的作用域控制和类型安全。枚举成员需要通过加上类名前缀来访问,避免名称冲突。
cpp
enum class Color {
Red,
Green,
Blue
};
待(整理100个换)