c++概念
C++语言设计期末考试知识点
1. 基础语法
-
变量和数据类型:
int
,float
,double
,char
,bool
等基本数据类型。- 常量:
const
关键字。 - 变量的作用域:局部变量、全局变量。
-
输入输出:
cin
和cout
:标准输入输出流。- 格式化输出:
iomanip
中的setw
,setprecision
等函数。
2. 流程控制
-
条件语句:
if
,else if
,else
语句。switch
语句及其使用场景,case
和default
。
-
循环语句:
for
循环:用于已知循环次数的场景。while
循环:适用于不确定循环次数的场景。do-while
循环:至少执行一次的循环。- 循环的控制语句:
break
,continue
。
3. 函数
-
函数定义与声明:
- 返回值类型、参数列表和函数体。
- 函数原型:函数的声明和定义的区别。
-
函数重载:
- 同名函数可以根据参数类型或参数数量进行重载。
-
递归:
- 递归函数:函数调用自身,经典案例如阶乘、斐波那契数列。
4. 数组和指针
-
数组:
- 一维数组和多维数组的声明与使用。
- 数组的遍历与初始化。
-
指针:
- 指针的概念:存储变量地址的变量。
- 指针的操作:
*
和&
操作符。 - 动态内存分配:
new
和delete
操作符,防止内存泄漏。
-
指针与数组的关系:
- 数组名是指向第一个元素的指针。
- 利用指针访问数组元素。
5. 面向对象编程(OOP)
-
类与对象:
- 类的定义:数据成员和成员函数。
- 对象的创建与使用。
- 构造函数与析构函数:自动调用,构造函数的重载。
-
封装:
- 访问控制修饰符:
public
,private
,protected
。 get
和set
方法实现类的封装。
- 访问控制修饰符:
-
继承:
- 基类和派生类:
public
,private
,protected
继承方式的区别。 - 构造函数的继承与重载。
- 基类指针和派生类对象。
- 基类和派生类:
-
多态性:
- 函数重写:在派生类中重新定义基类的虚函数。
- 虚函数和纯虚函数:动态多态性。
- 抽象类:包含纯虚函数的类。
-
友元函数和友元类:
friend
关键字,使非成员函数可以访问类的私有成员。
6. 运算符重载
-
基本概念:
- 运算符重载允许为自定义类型定义运算符行为,如
+
,-
,[]
等。
- 运算符重载允许为自定义类型定义运算符行为,如
-
常用运算符重载:
+
,-
,=
等运算符的重载。- 输入输出流运算符
<<
,>>
的重载。
7. 标准模板库(STL)
-
容器:
vector
,list
,deque
,set
,map
等容器的使用。- 容器的基本操作:插入、删除、遍历等。
-
迭代器:
- 迭代器的概念:用于访问容器中的元素。
- 常用迭代器类型:
begin()
,end()
,rbegin()
,rend()
。
-
算法:
- 常用的 STL 算法:
sort()
,find()
,copy()
,reverse()
等。
- 常用的 STL 算法:
8. 异常处理
-
基本语法:
try
,catch
,throw
的使用。- 异常类的定义与使用。
-
自定义异常:
- 继承标准异常类,如
std::exception
。
- 继承标准异常类,如
9. 文件操作
- 文件流:
ifstream
,ofstream
,fstream
的使用。- 文件的打开、读写操作。
- 二进制文件的读写:
ios::binary
。
10. 预处理器与宏
-
宏定义:
#define
定义常量与宏函数。
-
条件编译:
#ifdef
,#ifndef
,#endif
控制条件编译。
11. 名字空间(namespace)
-
作用:
- 防止名字冲突,将不同的标识符封装在不同的命名空间中。
-
使用方法:
using namespace
的用法。
12. 动态内存管理
-
内存分配:
new
和delete
操作符动态分配和释放内存。
-
内存泄漏的防范:
- 使用智能指针(
shared_ptr
,unique_ptr
)避免内存泄漏。
- 使用智能指针(
这个大纲涵盖了C++的核心知识点,建议优先复习面向对象编程(类、继承、多态性)、函数和指针相关内容,这是考试中的常考内容。