C++ 类和对象

C++ 中,类是用于定义对象的模板或蓝图。类定义了对象的属性(数据成员)和行为(成员函数)。对象则是类的一个实例。C++是面向对象的编程语言,对象就是面向对象程序设计的核心。所谓对象就是真实世界中的实体,对象与实体是一一对应的,也就是说现实世界中每一个实体都是一个对象,它是一种具体的概念。本文主要介绍C++ 类和对象。

1、C++ 类和对象

C++中,类是一种用户自定义的数据类型,它将数据(属性,也称为数据成员)和操作这些数据的函数(行为,也称为成员函数)组合在一起。C++是一种面向对象的编程语言。这也是C++与C语言的最大区别,而类和对象就是C++面向对象的基础,对类和对象具有深刻的理解,对于编写C++程序来说也是有一定的帮助。

#include <iostream>
#include <string>
using namespace std;

// 定义一个类
class Person {
public:
    // 数据成员
    string name;
    int age;

    // 构造函数
    Person(string n, int a) : name(n), age(a) {}

    // 成员函数
    void introduce() {
        cout << "My name is " << name 
        << " and I am " << age << " years old." << endl;
    }
};

int main() {
    // 创建对象
    Person p1("John", 30);

    // 调用成员函数
    p1.introduce();

    return 0;
}

2、定义声明类

类的定义和声明有时会分开进行,尤其是在需要提供接口和实现分离时。通常,类的声明是在头文件中进行,而类的定义和实现是在源文件中进行。要创建一个类,需要使用关键字class

#include <iostream>
#include<cstring>
using namespace std;
class Person
{
   public:
        string name;
        int age;
        char sex;
};
int main()
{
   return 0;
}

2、创建对象

在C++中,对象是从类中创建的。我们已经创建了名为Person的类,所以现在可以使用它来创建对象。

要创建Person的对象,指定类名,后跟对象名。

例如:

#include <iostream>
#include<cstring>
using namespace std;
class Person
{
   public:
        string name;
        int age;
        char sex;
};
int main()
{
    Person person1,person2;
    return 0;
}

3、对象方法

对象方法(成员函数)是与类的对象关联的函数,用于定义类的行为。它们可以访问和操作对象的成员变量。对象方法分为两种:普通成员函数和常成员函数。

1)普通成员函数

普通成员函数定义了对象的行为,能够访问和修改对象的成员变量。

#include <iostream>
using namespace std;

class Car {
public:
    string brand;
    int year;

    // 构造函数
    Car(string b, int y) : brand(b), year(y) {}

    // 普通成员函数
    void displayInfo() {
        cout << "Brand: " << brand << ", Year: " << year << endl;
    }
};

int main() {
    Car myCar("Toyota", 2020);
    myCar.displayInfo();  // 调用成员函数
    return 0;
}

2)常成员函数(const成员函数)

常成员函数是指不能修改对象的成员变量的成员函数。它们通常用于保证对象状态不被改变。

#include <iostream>
using namespace std;

class Car {
public:
    string brand;
    int year;

    // 构造函数
    Car(string b, int y) : brand(b), year(y) {}

    // 常成员函数
    void displayInfo() const {
        cout << "Brand: " << brand << ", Year: " << year << endl;
    }
};

int main() {
    Car myCar("Honda", 2021);
    myCar.displayInfo();  // 调用常成员函数
    return 0;
}

3)静态成员函数(Static Methods)

静态成员函数属于类本身,而不是某个特定的对象。它们不能访问非静态成员。

#include <iostream>
using namespace std;

class Car {
public:
    static int carCount;  // 静态数据成员

    // 静态成员函数
    static void displayCount() {
        cout << "Total cars: " << carCount << endl;
    }
};

// 静态成员变量的定义
int Car::carCount = 0;

int main() {
    Car::carCount = 5;
    Car::displayCount();  // 调用静态成员函数
    return 0;
}

推荐阅读
cjavapy编程之路首页