C++的基本知识

97 阅读5分钟

一、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++的代码更加灵活和可重用。
  • 充分支持面向对象思想的三个主要特征有封装性、继承性、多态性