写一段C加加set函数get函数,公私有权限,有参构造重载函数,析构函数的代码
时间: 2024-09-26 12:12:15 浏览: 43
在C++中,你可以创建一个名为`MyClass`的类,包含私有成员变量、公有和私有的成员函数。这里是一个简单的示例,包括设置(set)和获取(get)函数、带参构造函数的重载以及析构函数:
```cpp
class MyClass {
private:
int privateValue; // 私有数据成员
public:
// 构造函数(带默认参数)
MyClass() : privateValue(0) {} // 默认无参构造
MyClass(int initialValue) : privateValue(initialValue) {} // 带参构造重载
// 公共的setter和getter函数
void setPrivateValue(int value) {
if (value >= 0) { // 检查输入值是否合法
privateValue = value;
} else {
std::cout << "Invalid input, setting to default." << std::endl;
}
}
int getPrivateValue() const {
return privateValue;
}
// 析构函数
~MyClass() {
std::cout << "Destructor called for MyClass." << std::endl;
}
private:
// 私有访问控制,防止直接从外部修改privateValue
MyriadClass(const MyClass&) = delete; // 防止复制构造
MyriadClass& operator=(const MyClass&) = delete; // 防止赋值操作
};
int main() {
MyClass obj1; // 使用默认构造
obj1.setPrivateValue(5); // 调用公共set函数
std::cout << "Private Value: " << obj1.getPrivateValue() << std::endl;
MyClass obj2(10); // 使用带参构造
obj2.setPrivateValue(-1); // 尝试设置无效值
return 0;
}
```
在这个例子中,`privateValue`只能通过`setPrivateValue`和`getPrivateValue`函数来访问,以保证数据封装。析构函数`~MyClass()`会在对象生命周期结束时自动调用,用于清理资源。
阅读全文