C++为三个成员变量分别编写公有成员函数,修改成员变量的值,函数参数为成员变量的新值的代码
时间: 2023-06-20 10:08:25 浏览: 46
假设有以下C++类定义:
```cpp
class MyClass {
public:
int member1;
double member2;
char member3;
void setMember1(int value);
void setMember2(double value);
void setMember3(char value);
};
```
则可以为三个成员变量分别编写公有成员函数,修改成员变量的值,函数参数为成员变量的新值的代码:
```cpp
void MyClass::setMember1(int value) {
member1 = value;
}
void MyClass::setMember2(double value) {
member2 = value;
}
void MyClass::setMember3(char value) {
member3 = value;
}
```
使用这些函数可以修改成员变量的值,例如:
```cpp
MyClass obj;
obj.setMember1(42);
obj.setMember2(3.14);
obj.setMember3('A');
```
这样就可以将`member1`的值修改为42,`member2`的值修改为3.14,`member3`的值修改为'A'。
相关问题
为什么C++在类中要把成员变量放在私有,把成员函数放在公有
将成员变量放在私有部分的主要目的是为了保护这些成员变量,防止外部直接访问和修改。这样可以避免程序中的潜在错误,保证代码的安全性和稳定性。
将成员函数放在公有部分的主要目的是使外部代码可以通过调用这些函数来访问和修改私有成员变量。这样可以实现对成员变量的控制和保护,同时也方便了代码的使用和维护。
此外,将成员函数放在公有部分还可以方便地实现类的封装性和抽象性,使类的使用者不需要了解类的内部实现细节,只需要调用公有函数即可完成相应的操作。
c++子类用父类的公有get函数获得父类变量的值为什么是随机数
如果子类用父类的公有get函数获得父类变量的值出现随机数,可能有以下几种原因:
1. 父类变量没有被初始化。如果父类变量没有被初始化,它的值可能是随机的,因此在调用get函数时,子类会得到一个随机的值。
2. 父类变量被修改过。如果父类变量在子类中被修改过,那么在调用get函数时,子类会得到修改后的值,而不是初始值。
3. 父类get函数有问题。如果父类的get函数有问题,如返回值类型和变量类型不匹配等问题,那么在调用get函数时,子类可能会得到随机的值。
需要检查以上原因并进行相应的处理才能解决问题。
相关推荐
![txt](https://img-home.csdnimg.cn/images/20210720083642.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)