一、C++语言的基本符号
可分为字母、数字和符号三类
二、C++语言的词汇
C++中常见关键字及作用
| 关键字 | 作用 |
|---|---|
| auto | 用于声明自动变量,即定义变量时不显示指定类型,编译器会自动推断其类型 |
| break | 用于跳出当前循环或switch语句 |
| case | 用于switch语句中的分支标签 |
| char | 用于声明字符型变量 |
| class | 用于定义类 |
| const | 用于声明只读变量,即该变量的值不可更改 |
| constexpr | 用于定义编译时常量 |
| continue | 用于跳过循环的当前迭代,开始下一个迭代 |
| default | 用于switch语句中的默认分支 |
| do | 用于do-while循环的循环体 |
| double | 用于声明双精度浮点型变量 |
| else | 用于条件语句中的"否则"分支 |
| enum | 用于定义枚举类型 |
| extern | 用于声明在别处定义的变量或函数 |
| false | 布尔类型的字面值,表示假 |
| float | 用于声明单精度浮点型变量 |
| for | 用于for循环 |
| goto | 用于无条件跳转到程序中的特定位置 |
| if | 用于条件语句 |
| int | 用于声明整型变量 |
| long | 用于声明长整型变量 |
| namespace | 用于定义命名空间,以避免名称冲突 |
| new | 用于动态分配内存 |
| operator | 用于重载运算符 |
| private | 用于类中访问权限限制,指定私有成员 |
| protected | 用于类中访问权限限制,指定受保护的成员 |
| public | 用于类中访问权限限制,指定公共成员 |
| register | 建议将变量存储在寄存器中,提高效率 |
| return | 用于从函数返回值 |
| short | 用于声明短整型变量 |
| signed | 用于声明有符号类型变量 |
| sizeof | 用于计算数据类型或对象的大小 |
| static | 用于声明静态变量,即分配在静态存储区的变量 |
| struct | 用于定义结构体 |
| switch | 用于条件分支语句 |
| template | 用于定义模板 |
| this | 指向当前对象的常量指针 |
| throw | 用于抛出异常 |
| true | 布尔类型的字面值,表示真 |
| try | 用于异常处理,尝试捕获异常 |
| typedef | 用于给数据类型定义别名 |
| typeid | 用于获取表达式的类型信息 |
| typename | 用于模板编程中标识模板参数是一个类型名称 |
| union | 用于定义共用体 |
| unsigned | 用于声明无符号整型变量 |
C++的标识符(长度不能超过32个字符)
- 由字母、下划线和数字组成的字符串(字母区分大小写)
- 以字母或下划线开头
- 不能与关键字重名
C++的字面常量
字面常量是直接出现在代码中的值,它们不需要变量来存储。这些值在编译时就已经确定,并且在整个程序执行期间保持不变。字面常量可以是整数、浮点数、字符、字符串、布尔值等多种类型。
C++的运算符
- 单字符组成的运算符
- 双字符组成的运算符
- 3个字符组成的运算符
- 关键字运算符
三、C++程序的基本框架
void func1(int i) //<函数1的声明>
void func2(int i) //<函数2的声明>
void func3(int i) //<函数3的声明>
...
void funcn(int i) //<函数n的声明>
void main() //<主函数main>
{
... ...
}
void func1(int i) //<函数1的定义>
{
... ...
}
void func2(int i) //<函数2的定义>
{
... ...
}
...
void funcn(int i) //<函数n的定义>
{
... ...
}
四、C++程序的开发过程
#include<iostream>
using namespace std;
int main()
{
cout<<"hello World"<<endl;
return 0;
}
C++程序开发过程下表所示
| 编辑 | 创建Cpp文件并写入代码 |
| 编译 | 将cpp转化为obj |
| 链接 | 将obj变成exe |
| 运行 | 执行程序(失败后调试重新编辑) |
五、C++的特点
C++语言相对于C语言的最基本变化引进了类和对象的概念
类的特征
- 封装性:类通过将数据和操作这些数据的方法组合在一起,实现了封装性。这意味着类的内部实现细节对外部是隐藏的,只能通过类提供的公共接口(即成员函数)来访问和操作这些内部数据。这有助于保护数据的安全性,并减少类与类之间的耦合度。
- 继承性:C++支持类的继承机制,允许新定义的类(子类或派生类)继承一个或多个已存在的类(基类或父类)的属性和方法。继承性使得代码重用变得更加容易,也使得类的组织更加灵活和有序。子类可以继承父类的所有属性和方法,并可以添加新的属性和方法或覆盖(重写)父类的某些方法。
- 多态性:多态性是面向对象编程的一个重要特性,它允许不同的类对象对同一消息作出不同的响应。在C++中,多态性通常通过虚函数来实现。子类可以重写父类中的虚函数,当通过父类类型的指针或引用来调用这些虚函数时,会根据实际指向的对象类型来调用相应的函数版本,从而实现多态性。
- 抽象性:抽象性是指将具有共同特征的事物归纳为类,而将具体实现细节留给子类去处理。在C++中,可以通过定义抽象基类(包含纯虚函数的类)来实现抽象性。抽象基类不能被实例化,只能作为其他类的基类使用,从而强制要求子类实现某些特定的功能。
- 模板性:虽然模板性不是类本身的特点,但C++的模板机制与类紧密相关。模板允许程序员定义与类型无关的函数和类,然后在需要时通过指定具体的类型来生成相应的函数和类实例。这使得C++的代码更加灵活和可重用。
- 充分支持面向对象思想的三个主要特征有封装性、继承性、多态性