一、当我们考虑一个 C++ 程序时,它可以被定义为一组通过互相调用彼此的方法进行通信的对象。让我们简要看看类、对象、方法和实例变量意味着什么。
-
对象:对象具有状态和行为。例如,一只狗有颜色、名字、品种等状态,也有摇尾巴、吠叫、进食等行为。对象是一个类的实例。
-
类:类可以定义为描述其类型对象支持的行为/状态的模板/蓝图。
-
方法:方法基本上是一种行为。一个类可以包含很多方法。逻辑是在方法中编写的,数据被操纵,所有的动作都被执行。
-
实例变量:每个对象都有自己独特的一组实例变量。一个对象的状态是由分配给这些实例变量的值创建的。
二、C++ 程序结构
C++ 程序的基本结构包含以下几个部分:
-
包含头文件的部分:这是我们将包含程序中将要使用的所有必需头文件的部分。
-
-
主函数部分:在这部分,我们编写主代码。main() 函数是任何 C++ 编程代码的入口点,程序的执行从这里开始。
三、例子
让我们看一个简单的代码,它会在屏幕上打印出“Hello World”。
#include <iostream>
using namespace std;
int main() {
cout << "Hello World";
return 0;
}
四、例子解释
让我们来看看上面程序的各个部分:
-
C++ 定义了许多头文件,其中包含对你程序有用的信息。对于此程序,需要头文件
<iostream>
。
-
using namespace std;
这一行告诉编译器使用 std 命名空间。命名空间是 C++ 中相对较新的特性。
-
下一行
// main() is where program execution begins.
是 C++ 中的单行注释。单行注释以 //
开始并在行尾结束。
-
-
下一行
cout << "Hello World";
使消息 "Hello World" 显示在屏幕上。
-
下一行
return 0;
结束 main() 函数,并返回值 0 给调用进程。
五、编译和运行 C++ 程序
让我们来看看如何保存文件、编译和运行程序。请按照以下步骤操作:
-
-
-
-
输入
g++ hello.cpp
并按 Enter 来编译你的代码。如果没有错误,命令提示符将带你进入下一行并生成 a.out 可执行文件。
-
-
你应该能在窗口上看到 "Hello World"。
$ g++ hello.cpp
$ ./a.out
Hello World
确保 g++ 在你的路径中,并且你正在运行它的目录包含 hello.cpp 文件。
六、C++ 中的分号和块
在 C++ 中,分号是语句终止符。也就是说,每个单独的语句必须以分号结尾。它表示一个逻辑实体的结束。
例如,以下是三个不同的语句:
x = y;
y = y + 1;
add(x, y);
块是一组由开闭括号包围的逻辑连接的语句。例如:
{
cout << "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++ 中用来描述空格、制表符、换行字符和注释的术语。空白将一个语句的一部分与另一部分分开,并使编译器能够识别一个元素何时结束,下一个元素何时开始。
Statement 1
int age;
在上面的语句中,int 和 age 之间必须至少有一个空白字符(通常是空格),以便编译器能够区分它们。
Statement 2
fruit = apples + oranges;
在上面的第二个语句中,fruit 和 = 之间,= 和 apples 之间不需要空白字符,尽管为了可读性你可以随意加入一些空白字符。
十、面向对象方法下的 C++ 程序结构
C++ 除了支持过程式编程方法外,还支持面向对象的编程方法。
十一、例子
这个例子演示了基于面向对象方法的 C++ 程序。
#include <iostream>
using namespace std;
class Numbers {
private:
int a;
int b;
public:
void setValues(int x, int y) {
a = x;
b = y;
}
double addition() { return a + b; }
void display() { cout << "a: " << a << ", b: " << b << endl; }
};
int main() {
Numbers num;
num.setValues(10, 20);
num.display();
int sum = num.addition();
cout << "Sum of numbers: " << sum << endl;
return 0;
}
十二、面向对象方法下的 C++ 程序结构部分
面向对象方法下的 C++ 程序的不同部分如下:
-
类声明 类是对象的模板,或者说类是生产对象的工厂。它是一种自定义的数据类型,在这里你构造一个对象的结构。
类声明包含以下几个部分:
-
访问修饰符:C++ 支持三种类型的访问修饰符:私有(private),公共(public) 和受保护(protected)。数据成员和成员函数的可访问性由访问修饰符定义。
-
数据成员和成员函数:在类声明中使用的变量称为数据成员,成员函数是那些作用于数据成员的函数。
根据上面的例子,类声明的以下部分:
class Numbers {
private:
int a;
int b;
public:
void setValues(int x, int y) {
a = x;
b = y;
}
double addition() { return a + b; }
void display() { cout << "a: " << a << ", b: " << b << endl; }
};
以下是在私有访问修饰符下定义的数据成员,即这些数据成员只能由类内的成员函数使用:
private:
int a;
int b;
以下是类中使用的成员函数:
void setValues(int x, int y);
double addition();
void display();
-
对象创建 在上面的例子中,以下语句是对象创建语句:
Numbers num;