目录
C++ 是一种功能强大且灵活的编程语言,它支持多种编程范式,包括面向对象编程(OOP)、泛型编程和过程式编程。以下是 C++ 的基本语法要点,帮助你入门 C++:
1. 程序结构
C++ 程序通常由一个或多个函数组成,其中包括一个 main
函数作为程序的入口点。
cpp
深色版本
#include <iostream>
using namespace std;
int main() {
cout << "Hello, World!" << endl;
return 0;
}
2. 注释
C++ 支持两种注释方式:
-
单行注释(使用
cpp//
):深色版本
// This is a single line comment.
-
多行注释(使用
cpp/* */
):深色版本
/* This is a multi-line comment. */
3. 数据类型
C++ 支持多种基本数据类型,包括但不限于:
- 整型:
int
、short
、long
、long long
- 浮点型:
float
、double
- 字符型:
char
- 布尔型:
bool
- 空类型:
void
- 指针类型:
int* p;
(指向int
类型的指针)
4. 变量声明与初始化
cpp
深色版本
int number = 10; // 整型变量
float pi = 3.14f; // 浮点型变量
char letter = 'A'; // 字符型变量
bool flag = true; // 布尔型变量
5. 运算符
C++ 支持多种运算符,包括算术运算符、比较运算符、逻辑运算符等:
- 算术运算符:
+
、-
、*
、/
、%
- 比较运算符:
==
、!=
、<
、>
、<=
、>=
- 逻辑运算符:
&&
、||
、!
- 赋值运算符:
=
- 增量和减量运算符:
++
、--
6. 控制结构
6.1 条件语句
-
if 语句:
cpp深色版本
if (number > 0) { cout << "Number is positive." << endl; } else { cout << "Number is not positive." << endl; }
-
switch 语句:
cpp深色版本
switch (dayOfWeek) { case 1: cout << "Monday" << endl; break; case 2: cout << "Tuesday" << endl; break; default: cout << "Unknown day" << endl; }
6.2 循环语句
-
for 循环:
cpp深色版本
for (int i = 0; i < 5; ++i) { cout << "Counting: " << i << endl; }
-
while 循环:
cpp深色版本
int x = 0; while (x < 5) { cout << "Counting: " << x << endl; ++x; }
-
do...while 循环:
cpp深色版本
int y = 0; do { cout << "Counting: " << y << endl; ++y; } while (y < 5);
7. 数组与字符串
7.1 数组
cpp
深色版本
int arr[5] = {1, 2, 3, 4, 5};
for (int i = 0; i < 5; ++i) {
cout << "Element " << i << ": " << arr[i] << endl;
}
7.2 字符串
C++ 使用 std::string
类来表示字符串:
cpp
深色版本
#include <string>
std::string greeting = "Hello, World!";
cout << greeting << endl;
8. 函数
函数是 C++ 程序中的重要组成部分,用于封装一段可重复使用的代码。
cpp
深色版本
int add(int a, int b) {
return a + b;
}
int main() {
int result = add(5, 3);
cout << "Result: " << result << endl;
return 0;
}
9. 输入输出
C++ 使用 iostream
库来进行输入输出操作:
cpp
深色版本
#include <iostream>
using namespace std;
int main() {
int num;
cout << "Enter a number: ";
cin >> num;
cout << "You entered: " << num << endl;
return 0;
}
10. 面向对象编程
10.1 类与对象
cpp
深色版本
class Person {
public:
string name;
int age;
void introduce() const {
cout << "My name is " << name << " and I am " << age << " years old." << endl;
}
};
int main() {
Person person;
person.name = "Alice";
person.age = 30;
person.introduce();
return 0;
}
10.2 构造函数与析构函数
构造函数用于初始化对象的状态,析构函数用于释放对象占用的资源。
cpp
深色版本
class Person {
public:
Person(const string& name, int age) : name(name), age(age) {}
~Person() {
cout << "Person object is being destroyed." << endl;
}
private:
string name;
int age;
};
10.3 继承
子类可以继承父类的属性和方法,并在此基础上添加或修改。
cpp
深色版本
class Animal {
public:
virtual void speak() const {
cout << "Some sound" << endl;
}
};
class Dog : public Animal {
public:
void speak() const override {
cout << "Woof woof!" << endl;
}
};
int main() {
Dog dog;
dog.speak();
return 0;
}
10.4 多态
通过虚函数实现多态:
cpp
深色版本
class Shape {
public:
virtual void draw() const = 0; // 纯虚函数
virtual ~Shape() {}
};
class Circle : public Shape {
public:
void draw() const override {
cout << "Drawing a circle." << endl;
}
};
int main() {
Shape* shape = new Circle();
shape->draw();
delete shape;
return 0;
}
11. 异常处理
异常处理用于捕获和处理程序中的错误情况:
cpp
深色版本
int main() {
try {
throw runtime_error("An error occurred!");
} catch (const exception& e) {
cerr << "Caught exception: " << e.what() << endl;
}
return 0;
}
以上是 C++ 的一些基本语法要点。通过这些基础,你可以开始编写简单的程序,并逐渐学习更多的高级特性。随着经验的积累,你可以探索更多的主题,如模板编程、智能指针、并发编程等。