C++笔记(1)

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个换)

相关推荐
Yhame.3 小时前
深入理解 Java 中的 ArrayList 和 List:泛型与动态数组
java·开发语言
编程之路,妙趣横生3 小时前
list模拟实现
c++
明明真系叻4 小时前
第二十六周机器学习笔记:PINN求正反解求PDE文献阅读——正问题
人工智能·笔记·深度学习·机器学习·1024程序员节
mazo_command5 小时前
【MATLAB课设五子棋教程】(附源码)
开发语言·matlab
IT猿手5 小时前
多目标应用(一):多目标麋鹿优化算法(MOEHO)求解10个工程应用,提供完整MATLAB代码
开发语言·人工智能·算法·机器学习·matlab
青春男大5 小时前
java栈--数据结构
java·开发语言·数据结构·学习·eclipse
88号技师5 小时前
几款性能优秀的差分进化算法DE(SaDE、JADE,SHADE,LSHADE、LSHADE_SPACMA、LSHADE_EpSin)-附Matlab免费代码
开发语言·人工智能·算法·matlab·优化算法
Zer0_on5 小时前
数据结构栈和队列
c语言·开发语言·数据结构
一只小bit5 小时前
数据结构之栈,队列,树
c语言·开发语言·数据结构·c++
一个没有本领的人6 小时前
win11+matlab2021a配置C-COT
c语言·开发语言·matlab·目标跟踪