当前位置:首页 C++ > 正文

c++建立一个类: (1)该类具有const和非const成员函数。(2)创建这个类的const和非const 对象,并用不同类型的对象调用不同类型的成员函数

作者:野牛程序员:2024-10-25 11:08:28 C++阅读 2364
c++建立一个类: (1)该类具有const和非const成员函数。(2)创建这个类的const和非const 对象,并用不同类型的对象调用不同类型的成员函数

c++建立一个类: (1)该类具有const和非const成员函数。(2)创建这个类的const和非const 对象,并用不同类型的对象调用不同类型的成员函数.

以下是一个 C++ 程序,定义了一个类,其中包含 const 和非 const 成员函数,并展示如何使用 const 和非 const 对象调用这些函数:

#include <iostream>

class MyClass {
private:
    int value;

public:
    // 构造函数
    MyClass(int val) : value(val) {}

    // 非 const 成员函数
    void setValue(int val) {
        value = val;
    }

    // const 成员函数
    int getValue() const {
        return value;
    }
};

int main() {
    // 创建非 const 对象
    MyClass obj1(10);
    std::cout << "非 const 对象初始值: " << obj1.getValue() << std::endl;

    // 调用非 const 成员函数
    obj1.setValue(20);
    std::cout << "非 const 对象修改后值: " << obj1.getValue() << std::endl;

    // 创建 const 对象
    const MyClass obj2(30);
    std::cout << "const 对象初始值: " << obj2.getValue() << std::endl;

    // 不能调用非 const 成员函数
    // obj2.setValue(40); // 编译错误,无法调用非 const 函数

    // 只调用 const 成员函数
    std::cout << "const 对象值: " << obj2.getValue() << std::endl;

    return 0;
}

程序说明

  1. MyClass 类:

    • 包含一个私有成员 value

    • 构造函数: 初始化 value

    • setValue: 非 const 成员函数,用于修改 value

    • getValue: const 成员函数,用于返回 value,确保不会修改对象状态。

  2. main 函数:

    • 创建一个非 const 对象 obj1,调用 setValuegetValue 方法,修改和获取其值。

    • 创建一个 const 对象 obj2,只能调用 getValue 方法,无法调用 setValue 方法,从而展示 const 对象的限制。


野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892
野牛程序员教少儿编程与信息学竞赛-微信|电话:15892516892
  • c++
  • 最新推荐

    热门点击