C++语法总结:控制符、指针、构造函数和析构函数
需积分: 3 73 浏览量
更新于2024-09-11
收藏 25KB DOCX 举报
C++ 语法总结
C++ 语法总结是对 C++ 编程语言的语法结构和编程规则的总结。以下是 C++ 语法总结的详细知识点:
**I/O 流的常用控制符**
在 C++ 中,I/O 流的控制符用于控制输入输出流的格式和内容。常用的 I/O 流控制符包括:
* `dec`:置基数为 10
* `hex`:置基数为 16
* `oct`:置基数为 8
* `setfill(c)`:设填充字符为 C
* `setprecision(n)`:设显示小数精度为 n 位
* `setw(n)`:设域宽为 N 个字符
* `setiosflags(ios::fixed)`:固定的符点显示
* `setiosflags(ios::scientific)`:指数表示
* `setiosflags(ios::left)`:左对齐
* `setiosflags(ios::right)`:右对齐
* `setiosflags(ios::skipws)`:忽略前导空白
* `setiosflags(ios::uppercase)`:16 进制数大写输出
* `setiosflags(ios::lowercase)`:6 进制数小写输出
* `setiosflags(ios::showpoint)`:显示小数点
* `setiosflags(ios::showpos)`:正数前面加上正号
**头文件**
在 C++ 中,头文件是包含函数和变量声明的文件。常用的头文件包括:
* `iostream.h`:输入/输出流头文件
* `iomanip.h`:输入/输出流格式化头文件
* `stdlib.h`:标准库头文件
**指针的几种类型**
在 C++ 中,指针是一种数据类型,用于存储内存地址。指针的几种类型包括:
* `int(*p)()`:p 为指向函数的指针变量,该函数带回一个整形值
* `int*p()`:p 为带回一个指针的函数,该指针指向整形数据
* `int(**)[n]p`:p 为一个指向一个指针变量的指针变量,被指向的指针变量指向一个含 n 个整形数据的一维数组
**构造函数和析构函数**
在 C++ 中,构造函数和析构函数是类的特殊成员函数。构造函数用于初始化对象,而析构函数用于释放对象占用的资源。
**构造函数**
* 构造函数可以有任意个形参,也可以重载(多个参数个数不同的函数)
* 构造函数不能任意调用,只能系统调用
* 构造函数的特点是可以有任意个形参,可以重载,可以任意调用
**析构函数**
* 析构函数不能有形参,因为是系统自动调用的
* 析构函数不仅系统调用,也可以任意调用
* 析构函数的特点是不能有形参,系统自动调用,不能任意调用
**构造函数和析构函数的自动运行**
* 构造函数:一般在定义类对象时自动运行
* 析构函数:如果一个函数中定义了一个对象,则在这个函数运行结束时就执行一次;当一个对象是使用 NEW 运算符被动态创建的,在使用 DELETE 运算符释放它时,DELETE 将会自动调用析构函数
**拷贝初始化构造函数**
* 当用 `tpointN(M)` 语句时调用一次
* 当对象作为实参向形参传递时,即对形参初始化时执行一次
* 当遇到 `M=return(N)` 语句,即对 M 进行初始化时调用一次
**this 指针**
* `this` 指针是类的隐式成员变量,指向当前对象
* `this` 指针的用法:例 63 中,当程序执行语句 `listelem(i)` 时,系统对 `this` 指针进行了如下的缺省赋值:`t`
C++ 语法总结涵盖了 C++ 编程语言的基本语法结构、I/O 流控制符、头文件、指针的几种类型、构造函数和析构函数、构造函数和析构函数的自动运行、拷贝初始化构造函数和 `this` 指针等知识点。
2008-10-27 上传
2014-07-03 上传
2007-04-05 上传
2021-09-17 上传
2011-02-25 上传
2018-11-08 上传
2008-03-22 上传
2022-11-13 上传
raynforu
- 粉丝: 0
- 资源: 2
最新资源
- 深入浅出:自定义 Grunt 任务的实践指南
- 网络物理突变工具的多点路径规划实现与分析
- multifeed: 实现多作者间的超核心共享与同步技术
- C++商品交易系统实习项目详细要求
- macOS系统Python模块whl包安装教程
- 掌握fullstackJS:构建React框架与快速开发应用
- React-Purify: 实现React组件纯净方法的工具介绍
- deck.js:构建现代HTML演示的JavaScript库
- nunn:现代C++17实现的机器学习库开源项目
- Python安装包 Acquisition-4.12-cp35-cp35m-win_amd64.whl.zip 使用说明
- Amaranthus-tuberculatus基因组分析脚本集
- Ubuntu 12.04下Realtek RTL8821AE驱动的向后移植指南
- 掌握Jest环境下的最新jsdom功能
- CAGI Toolkit:开源Asterisk PBX的AGI应用开发
- MyDropDemo: 体验QGraphicsView的拖放功能
- 远程FPGA平台上的Quartus II17.1 LCD色块闪烁现象解析