C++类(class)的用法

目录

1. 定义一个简单的类

2. 构造函数和析构函数

3. 访问修饰符

4. 继承

5. 多态

6. 其他高级用法

‌运算符重载‌:允许你为类定义自定义的运算符行为。

‌模板类‌:允许你定义泛型类,使得类可以与任意类型一起工作。

‌嵌套类‌:允许你在一个类中定义另一个类。

‌友元函数‌:允许非成员函数访问类的私有成员。


在C++中,class 是面向对象编程(OOP)的核心概念之一,用于定义对象的属性和行为。下面我将为你介绍如何定义和使用一个类(class),以及一些高级用法。

1. 定义一个简单的类

一个类通常包含成员变量(属性)和成员函数(方法)。以下是一个简单的例子:

#include 
#include 

class Person {
public:
    // 构造函数
    Person(std::string name, int age) : name(name), age(age) {}

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

    // 获取年龄
    int getAge() {
        return age;
    }

    // 设置年龄
    void setAge(int newAge) {
        age = newAge;
    }

private:
    // 成员变量
    std::string name;
    int age;
};

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

    // 调用成员函数
    person.introduce();
    std::cout << "Age: " << person.getAge() << std::endl;

    // 修改年龄
    person.setAge(31);
    std::cout << "Updated Age: " << person.getAge() << std::endl;

    return 0;
}

2. 构造函数和析构函数

构造函数用于在对象创建时初始化成员变量。析构函数用于在对象销毁时执行清理工作。

class MyClass {
public:
    // 构造函数
    MyClass() {
        std::cout << "Constructor called" << std::endl;
    }

    // 析构函数
    ~MyClass() {
        std::cout << "Destructor called" << std::endl;
    }
};

3. 访问修饰符

C++ 中的类成员可以有不同的访问权限:publicprotected 和 private

  • public:成员在任何地方都可以访问。
  • protected:成员只能在类内部、派生类中访问。
  • private:成员只能在类内部访问。

4. 继承

继承是面向对象编程的重要特性之一,允许一个类(子类)继承另一个类(基类)的属性和方法。

class BaseClass {
public:
    void baseFunction() {
        std::cout << "Base function called" << std::endl;
    }
};

class DerivedClass : public BaseClass {
public:
    void derivedFunction() {
        std::cout << "Derived function called" << std::endl;
    }
};

int main() {
    DerivedClass obj;
    obj.baseFunction();     // 调用基类方法
    obj.derivedFunction();  // 调用派生类方法
    return 0;
}

5. 多态

多态允许你在不同的上下文中使用相同的接口。C++ 中多态通常通过虚函数实现。

class Base {
public:
    virtual void show() {
        std::cout << "Base class show function called" << std::endl;
    }
};

class Derived : public Base {
public:
    void show() override {
        std::cout << "Derived class show function called" << std::endl;
    }
};

int main() {
    Base* basePtr = new Derived;
    basePtr->show();  // 调用的是 Derived 类的 show 方法
    delete basePtr;
    return 0;
}

6. 其他高级用法

  • 运算符重载‌:允许你为类定义自定义的运算符行为。

  • 模板类‌:允许你定义泛型类,使得类可以与任意类型一起工作。

  • 嵌套类‌:允许你在一个类中定义另一个类。

  • 友元函数‌:允许非成员函数访问类的私有成员。

这些只是 C++ 类的一部分用法和功能。C++ 是一门非常强大的编程语言,深入理解和熟练掌握类的各种用法将使你能够编写出更高效、更可维护的代码。

你可能感兴趣的:(c++,类)