📜  C++教程(1)

📅  最后修改于: 2023-12-03 15:29:55.244000             🧑  作者: Mango

C++教程

C++是一种强类型语言,其语法结构类似于C语言。但是C++比C语言更加强大和灵活,支持类、多态性、继承和模板等特性。本教程将帮助您学习C++的语法和基本概念,希望对您的程序开发和学习有所帮助。

基本语法
变量声明和定义

C++中的变量需要先声明后使用,变量的声明包括变量的类型和名称。同时,变量在声明时可以初始化赋值,也可以在之后的代码中进行赋值。

// 变量声明
int age;
double price = 19.99;
// 变量赋值
age = 18;
数据类型

C++支持多种不同的数据类型,包括基本数据类型和复合数据类型。常见的基本数据类型有整型、字符型、布尔型等;而复合数据类型则包括数组、结构体、指针等。

// 基本数据类型声明和定义
int num = 1;
char letter = 'A';
bool flag = true;
// 复合数据类型声明和定义
int arr[3] = {1, 2, 3};
struct person {
    int age;
    string name;
};
控制语句

C++中的控制语句用于控制代码的执行流程,包括循环语句、条件语句、跳转语句等。常用的控制语句有if语句、while语句、for语句等。

// if语句
if (age < 18) {
    cout << "You are under 18 years old." << endl;
} else {
    cout << "You are over 18 years old." << endl;
}
// while语句
int i = 0;
while (i < 5) {
    cout << i << endl;
    i++;
}
// for语句
for (int i = 0; i < 5; i++) {
    cout << i << endl;
}
函数

函数是C++中的基本构建块,可以将代码分解为可重复使用和可扩展的部分。在C++中,函数包括函数名称、返回类型、参数列表和函数体。同时,C++支持函数的重载和递归调用。

// 函数的声明和定义
int sum(int x, int y);
int sum(int x, int y) {
    return x + y;
}
// 函数的重载
int sum(int x, int y, int z);
int sum(int x, int y, int z) {
    return x + y + z;
}
// 函数的递归调用
int factorial(int num);
int factorial(int num) {
    if (num == 0 || num == 1) {
        return 1;
    }
    return num * factorial(num - 1);
}
面向对象编程

C++支持面向对象编程,包括类、对象、继承、多态等特性。通过面向对象编程,可以更加灵活地设计和构建程序,提高代码的可重用性和可维护性。

类和对象

在C++中,通过定义类来创建对象,类是一个数据类型,包括类的属性和方法。而对象则是类的实例化,包括对象的属性和方法。

// 类的定义
class Person {
public:
    string name;
    int age;
    void sayHello() {
        cout << "Hello, I am " << name << ", " << age << " years old." << endl;
    }
};
// 对象的创建和使用
Person p;
p.name = "Lucy";
p.age = 18;
p.sayHello();
继承

C++支持继承特性,一个类可以继承自另一个类,从而获取父类的属性和方法。同时,C++还支持多重继承,一个类可以同时继承自多个父类。

// 父类的定义
class Animal {
public:
    void eat() {
        cout << "I am eating." << endl;
    }
};
// 子类的定义
class Dog : public Animal {
public:
    void bark() {
        cout << "I am barking." << endl;
    }
};
// 对象的创建和使用
Dog d;
d.eat();
d.bark();
多态

C++支持多态特性,子类可以重写父类的方法,从而实现不同的行为。C++中的多态包括虚函数和纯虚函数两种类型。

// 父类的定义
class Shape {
public:
    virtual double getArea() {
        return 0.0;
    }
};
// 子类的定义
class Rectangle : public Shape {
public:
    double width;
    double height;
    double getArea() {
        return width * height;
    }
};
class Circle : public Shape {
public:
    double radius;
    double getArea() {
        return 3.14 * radius * radius;
    }
};
// 对象的创建和使用
Shape *sp;
Rectangle r;
Circle c;
sp = &r;
cout << sp->getArea() << endl; // 调用子类Rectangle的方法
sp = &c;
cout << sp->getArea() << endl; // 调用子类Circle的方法
总结

本教程提供了C++的基本语法和面向对象编程的特性介绍,希望对您的C++学习和开发有所帮助。C++是一种强大的编程语言,有着广泛的应用领域,包括操作系统、网络、游戏、多媒体等。有兴趣的读者可以进一步探索C++的高级特性和应用场景。