📜  C++ |类和对象|问题2(1)

📅  最后修改于: 2023-12-03 14:39:54.158000             🧑  作者: Mango

C++ | 类和对象 | 问题2

在 C++ 中,类是一种用户自定义的数据类型,可以用于封装数据和函数。类中的数据成员和成员函数可以通过对象来访问。在本文中,我们将介绍如何声明和定义类,以及如何创建类的对象和使用类的成员。

声明和定义类

声明一个类需要使用 class 关键字,例如:

class Person {
public:
    // 数据成员
    string name;
    int age;

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

上面的代码声明了一个名为 Person 的类,其中包含两个数据成员(姓名 name 和年龄 age)和一个成员函数(打招呼 sayHi)。

如果要使用一个类,必须先创建该类的对象。下面是创建 Person 类的对象的示例:

int main() {
    // 创建对象
    Person p;
    // 访问数据成员
    p.name = "Tom";
    p.age = 18;
    // 调用成员函数
    p.sayHi();
    return 0;
}

在这个示例中,我们定义了一个 main 函数,该函数创建了一个 Person 类的对象 p。然后,我们访问了 p 的数据成员 nameage,并调用了 sayHi 方法。

访问控制

C++ 中的类成员可以有三种不同的访问权限:

  • public:可以从类外部访问
  • private:只能从类内部访问
  • protected:可以从类内部和子类中访问

默认情况下,所有的成员都是 private 的。如果要将某些成员变成 public 或者 protected,可以使用对应的修饰符。

class Person {
public:
    // 公有数据成员和成员函数
    string name;

private:
    // 私有数据成员和成员函数
    int age;

protected:
    // 保护数据成员和成员函数
    bool gender;
};
构造函数和析构函数

构造函数和析构函数是类中的两个重要成员函数。每当创建一个类的对象时,构造函数会自动调用。

构造函数的主要作用是初始化类的对象。如果你没有显式地声明构造函数,C++ 会默认提供一个无参构造函数。如果需要,你也可以声明自己的构造函数:

class Person {
public:
    string name;
    int age;

    // 声明构造函数
    Person(string name, int age) {
        this->name = name;
        this->age = age;
    }

    void sayHi() {
        cout << "Hi, my name is " << name << ", and I am " << age << " years old." << endl;
    }
};

上面的代码定义了一个带有两个参数的构造函数,它可以在创建 Person 对象时对其进行初始化。

析构函数的作用与构造函数相反。当类的对象被销毁时,析构函数会自动调用。在析构函数中,通常释放对象使用的内存和其它资源。

class Person {
public:
    string name;
    int age;

    ~Person() {
        cout << name << " is destroyed." << endl;
    }

    void sayHi() {
        cout << "Hi, my name is " << name << ", and I am " << age << " years old." << endl;
    }
};

上面的代码定义了一个析构函数,它在 Person 类对象被销毁时输出一条消息。

小结

在本文中,我们介绍了 C++ 中的类和对象。我们讨论了如何声明和定义类,如何创建类的对象和访问类的成员,以及如何使用构造函数和析构函数。如果需要更深入的学习,可以参考C++官方文档或者相关书籍。

返回markdown格式:

C++ | 类和对象 | 问题2

在 C++ 中,类是一种用户自定义的数据类型,可以用于封装数据和函数。类中的数据成员和成员函数可以通过对象来访问。在本文中,我们将介绍如何声明和定义类,以及如何创建类的对象和使用类的成员。

声明和定义类

声明一个类需要使用 class 关键字,例如:

class Person {
public:
    // 数据成员
    string name;
    int age;

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

上面的代码声明了一个名为 Person 的类,其中包含两个数据成员(姓名 name 和年龄 age)和一个成员函数(打招呼 sayHi)。

如果要使用一个类,必须先创建该类的对象。下面是创建 Person 类的对象的示例:

int main() {
    // 创建对象
    Person p;
    // 访问数据成员
    p.name = "Tom";
    p.age = 18;
    // 调用成员函数
    p.sayHi();
    return 0;
}

在这个示例中,我们定义了一个 main 函数,该函数创建了一个 Person 类的对象 p。然后,我们访问了 p 的数据成员 nameage,并调用了 sayHi 方法。

访问控制

C++ 中的类成员可以有三种不同的访问权限:

  • public:可以从类外部访问
  • private:只能从类内部访问
  • protected:可以从类内部和子类中访问

默认情况下,所有的成员都是 private 的。如果要将某些成员变成 public 或者 protected,可以使用对应的修饰符。

class Person {
public:
    // 公有数据成员和成员函数
    string name;

private:
    // 私有数据成员和成员函数
    int age;

protected:
    // 保护数据成员和成员函数
    bool gender;
};
构造函数和析构函数

构造函数和析构函数是类中的两个重要成员函数。每当创建一个类的对象时,构造函数会自动调用。

构造函数的主要作用是初始化类的对象。如果你没有显式地声明构造函数,C++ 会默认提供一个无参构造函数。如果需要,你也可以声明自己的构造函数:

class Person {
public:
    string name;
    int age;

    // 声明构造函数
    Person(string name, int age) {
        this->name = name;
        this->age = age;
    }

    void sayHi() {
        cout << "Hi, my name is " << name << ", and I am " << age << " years old." << endl;
    }
};

上面的代码定义了一个带有两个参数的构造函数,它可以在创建 Person 对象时对其进行初始化。

析构函数的作用与构造函数相反。当类的对象被销毁时,析构函数会自动调用。在析构函数中,通常释放对象使用的内存和其它资源。

class Person {
public:
    string name;
    int age;

    ~Person() {
        cout << name << " is destroyed." << endl;
    }

    void sayHi() {
        cout << "Hi, my name is " << name << ", and I am " << age << " years old." << endl;
    }
};

上面的代码定义了一个析构函数,它在 Person 类对象被销毁时输出一条消息。

小结

在本文中,我们介绍了 C++ 中的类和对象。我们讨论了如何声明和定义类,如何创建类的对象和访问类的成员,以及如何使用构造函数和析构函数。如果需要更深入的学习,可以参考C++官方文档或者相关书籍。