如何自定义c++ properties的访问权限

1949idc 2年前 (2024-09-18) 阅读数 364 #编程语言

在C++中,我们可以通过使用getter和setter方法来自定义属性的访问权限

#include<iostream>

class MyClass {
private:
    int myProperty; // 私有属性

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

    // Getter 方法(公共访问权限)
    int getMyProperty() const {
        return myProperty;
    }

    // Setter 方法(仅允许修改为偶数值)
    void setMyProperty(int value) {
        if (value % 2 == 0) {
            myProperty = value;
        } else {
            std::cout << "Error: Value must be an even number."<< std::endl;
        }
    }
};

int main() {
    MyClass obj(4);

    // 访问属性
    std::cout << "Current property value: "<< obj.getMyProperty()<< std::endl;

    // 修改属性
    obj.setMyProperty(6);
    std::cout << "New property value: "<< obj.getMyProperty()<< std::endl;

    // 尝试设置为奇数值
    obj.setMyProperty(7);

    return 0;
}

在这个例子中,myProperty是一个私有成员变量。我们提供了一个公共的getter方法getMyProperty()来访问该属性,并提供了一个公共的setter方法setMyProperty()来修改该属性。在setter方法中,我们添加了一个条件判断,确保只有偶数值才能被设置。这样,我们就实现了对属性访问权限的自定义。

版权声明

本文内容由互联网用户自发贡献,该文观点仅代表作者本人
本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。

© 2010 首途云安 & 厦门硕顿信息技术有限公司 & 闽ICP备11016866号  增值电信业务经营许可证:B1-20203020 地址:福建厦门思明区嘉禾路297号1806
高新技术企业
软件产品证书
计算机软件著作权
ISO认证
国家3A企业