- C++基础
- C++首页
- C++概述
- C++环境设置
- C++基本语法
- C++注释
- C++ Hello World
- C++省略命名空间
- C++常量/字面量
- C++关键字
- C++标识符
- C++数据类型
- C++数值数据类型
- C++字符数据类型
- C++布尔数据类型
- C++变量类型
- C++变量作用域
- C++多个变量
- C++基本输入/输出
- C++修饰符类型
- C++存储类
- C++运算符
- C++数字
- C++枚举
- C++引用
- C++日期与时间
- C++控制语句
- C++决策机制
- C++ if 语句
- C++ if else 语句
- C++嵌套 if 语句
- C++ switch 语句
- C++嵌套 switch 语句
- C++循环类型
- C++ while 循环
- C++ for 循环
- C++ do while 循环
- C++ foreach 循环
- C++嵌套循环
- C++ break 语句
- C++ continue 语句
- C++ goto 语句
- C++构造函数
- C++构造函数与析构函数
- C++复制构造函数
C++基本语法
当我们考虑一个C++程序时,它可以定义为一个通过调用彼此方法来通信的对象集合。现在让我们简要了解一下类、对象、方法和实例变量的含义。
-
对象 − 对象具有状态和行为。例如:狗具有状态(颜色、名称、品种)以及行为(摇尾、吠叫、吃东西)。对象是类的实例。
-
类 − 类可以定义为一个模板/蓝图,它描述了其类型对象支持的行为或状态。
-
方法 − 方法基本上是一种行为。一个类可以包含许多方法。在方法中编写逻辑,操作数据,并执行所有操作。
-
实例变量 − 每个对象都有自己独特的一组实例变量。对象的状体是由分配给这些实例变量的值创建的。
C++程序结构
C++程序的基本结构包含以下部分
- 头文件包含部分:这是我们包含所有所需头文件的部分,我们将在这个程序中使用这些头文件的函数。
- 命名空间部分:这是我们使用命名空间的部分。
- main()部分:在这个部分,我们编写我们的主代码。main()函数是任何C++编程代码的入口点,程序的执行从此处开始。
要了解更多信息,请阅读:C++ Hello, World 程序。
示例
让我们来看一段简单的代码,它将打印单词Hello World。
#include <iostream> using namespace std; // main() is where program execution begins. int main() { cout << "Hello World"; // prints Hello World return 0; }
示例解释
让我们看看上面程序的各个部分:
C++语言定义了几个头文件,其中包含程序必需或有用的信息。对于此程序,需要头文件<iostream>。
语句using namespace std;告诉编译器使用std命名空间。命名空间是最近才添加到C++中的。
下一行 '// main() is where program execution begins.' 是C++中可用的单行注释。单行注释以//开头,到行尾结束。
语句int main()是程序执行开始的主函数。
下一行cout << "Hello World";导致消息“Hello World”显示在屏幕上。
下一行return 0;终止main()函数,并将其值0返回给调用进程。
编译和执行C++程序
让我们看看如何保存文件、编译和运行程序。请按照以下步骤操作:
打开文本编辑器并添加上述代码。
将文件保存为:hello.cpp
打开命令提示符并转到保存文件的目录。
键入“g++ hello.cpp”并按Enter键编译代码。如果代码中没有错误,命令提示符将带您进入下一行,并将生成a.out可执行文件。
现在,键入“a.out”运行程序。
您将能够看到窗口上打印的“Hello World”。
$ g++ hello.cpp $ ./a.out Hello World
确保g++在您的路径中,并且您在包含文件hello.cpp的目录中运行它。
您可以使用makefile编译C/C++程序。有关更多详细信息,您可以查看我们的“Makefile 教程”。
C++中的分号和块
在C++中,分号是语句终止符。也就是说,每个单独的语句都必须以分号结尾。它表示一个逻辑实体的结束。
例如,以下是三个不同的语句:
x = y; y = y + 1; add(x, y);
块是一组逻辑上连接的语句,它们被起始和结束大括号包围。例如:
{ cout << "Hello World"; // prints Hello World return 0; }
C++不识别行尾作为终止符。因此,您在一行中放置语句的位置无关紧要。例如:
x = y; y = y + 1; add(x, y);
与以下相同
x = y; y = y + 1; add(x, y);
C++标识符
C++标识符是用于标识变量、函数、类、模块或任何其他用户定义项的名称。标识符以字母A到Z或a到z或下划线(_)开头,后跟零个或多个字母、下划线和数字(0到9)。
C++不允许在标识符中使用@、$和%等标点符号。C++是一种区分大小写的编程语言。因此,Manpower和manpower在C++中是两个不同的标识符。
以下是一些可接受的标识符示例:
mohd zara abc move_name a_123 myname50 _temp j a23b9 retVal
C++关键字
以下列表显示了C++中的保留字。这些保留字不能用作常量或变量或任何其他标识符名称。
asm | else | new | this |
auto | enum | operator | throw |
bool | explicit | private | true |
break | export | protected | try |
case | extern | public | typedef |
catch | false | register | typeid |
char | float | reinterpret_cast | typename |
class | for | return | union |
const | friend | short | unsigned |
const_cast | goto | signed | using |
continue | if | sizeof | virtual |
default | inline | static | void |
delete | int | static_cast | volatile |
do | long | struct | wchar_t |
double | mutable | switch | while |
dynamic_cast | namespace | template |
三元组
一些字符具有替代表示形式,称为三元组序列。三元组是一个三字符序列,它表示单个字符,并且该序列总是以两个问号开头。
三元组在任何出现的地方都会被扩展,包括字符串文字和字符文字、注释和预处理器指令中。
以下是最常用的三元组序列:
三元组 | 替换 |
---|---|
??= | # |
??/ | \ |
??' | ^ |
??( | [ |
??) | ] |
??! | | |
??< | { |
??> | } |
??- | ~ |
并非所有编译器都支持三元组,并且由于其令人困惑的性质,建议不要使用它们。
C++中的空白
仅包含空白(可能带有注释)的行称为空行,C++编译器会完全忽略它。
空白是C++中用于描述空格、制表符、换行符和注释的术语。空白将语句的一个部分与另一部分隔开,并使编译器能够识别语句中一个元素(如int)的结束和下一个元素的开始。
语句1
int age;
在上例语句中,int和age之间必须至少有一个空白字符(通常是空格),以便编译器能够区分它们。
语句2
fruit = apples + oranges; // Get the total fruit
在上面的语句2中,fruit和=之间,以及=和apples之间不需要空格字符,尽管为了可读性,您可以随意添加一些空格。
面向对象方法的C++程序结构
C++除了支持过程式编程方法外,还支持面向对象编程方法。
示例
此示例演示基于面向对象方法的C++程序。
#include <iostream> using namespace std; class Numbers { private: int a; int b; public: // Function to set values void setValues(int x, int y) { a = x; b = y; } // Function to add these numbers double addition() { return a + b; } // Function to display values void display() { cout << "a: " << a << ", b: " << b << endl; } }; int main() { // Create an object of Numbers class Numbers num; // Set values num.setValues(10, 20); // Display the values num.display(); // Find the addition int sum = num.addition(); cout << "Sum of numbers: " << sum << endl; return 0; }
面向对象方法的C++程序结构的组成部分
采用面向对象方法的C++程序结构的不同部分如下所示
1. 类声明
一个类是对象的模板,或者可以说类是生产对象的工厂。它是一种自定义数据类型,用于构建对象的结构。
类声明包含以下部分
- 访问修饰符:C++支持三种类型的访问修饰符:private(私有)、public(公有)和protected(保护)。数据成员和成员函数的可访问性由访问修饰符定义。
- 数据成员和成员函数:在类声明中使用的变量称为数据成员,成员函数是在数据成员上操作的函数。
示例
根据上述示例,类声明的以下部分:
class Numbers { private: int a; int b; public: // Function to set values void setValues(int x, int y) { a = x; b = y; } // Function to add these numbers double addition() { return a + b; } // Function to display values void display() { cout << "a: " << a << ", b: " << b << endl; } };
以下是定义在private访问修饰符下的数据成员,即这些数据成员可以被类内的成员函数使用:
private: int a; int b;
以下是类中使用的成员函数:
void setValues(int x, int y); double addition(); void display();
2. 对象创建
在上例中,以下语句是对象创建语句:
Numbers num;