gpt4 book ai didi

C++类成员变量重新赋值

转载 作者:行者123 更新时间:2023-11-30 05:46:55 26 4
gpt4 key购买 nike


这个程序


我的对象 Class 有一个成员变量 balance ,它在初始化期间设置并通过方法 augment 进行操作,该方法被赋予一个 double 来添加平衡

Class 对象嵌套在 Class2 对象中的一个数组中,该对象仅包含 Class 对象数组作为其成员。 Class2 对象有一个访问 Class 对象的方法叫做 getClass 和一个操作 Class 对象的方法叫做设置对象


#include <iostream>

using namespace std;

class Class {
double balance;
public:
Class();
Class(double setBalance);
void augment(double amount);
double getBalance();
};

class Class2 {
Class object2[50];
public:
Class getClass(int index){
return object2[index];
};
void setObject(int index, double balance) {
Class temp(balance);
object2[index]=temp;
};
};

Class::Class() {
balance = 0;
}

Class::Class(double setBalance){
balance=setBalance;
};

void Class::augment(double amount) {
balance+=amount;
};

double Class::getBalance() {
return balance;
};

int main() {
Class2 object;
object.setObject(5, 546);
cout << object.getClass(5).getBalance();
object.getClass(5).augment(546);
cout << object.getClass(5).getBalance();
return 0;
}



问题


如果您遵循 main 中的过程,我将尝试使用 balance 初始化一个 Class 对象并操作 通过 augment 方法平衡。看起来这段代码应该可以工作,如果直接访问对象而不是嵌套在 Class2 中,它确实可以工作,但这不是一个选项。我认为这与 Class2 中返回 Class 对象的方式有关,但我无法弄清楚。

最佳答案

返回对数组中对象的引用

Class & getClass(int index){
return object2[index];
};

您可以在 Class2 中定义下标运算符来访问数组的元素。

还要考虑到使用类名 Class 和 Class2 不是一个好主意。

关于C++类成员变量重新赋值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28729565/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com