gpt4 book ai didi

c++ - 遗产。如何让 child = parent

转载 作者:搜寻专家 更新时间:2023-10-31 00:34:55 37 4
gpt4 key购买 nike

首先,我不太确定如何为我的问题命名。

我有一个关于继承的问题。

假设我创建了一个名为 Class_A 的类:

class Class_A
{
public:
int a;
int b;
};

然后,我创建继承了 Class_A 的 Class_B:

class Class_B : public Class_A
{
public:
int c;
int d;
}

然后我创建一个 Class_B 的实例:

Class_B my_class_b;

现在,我有一个函数接受 Class_A 的实例,更改它,然后返回一个 Class_A:

Class_A func (Class_A which)
{
which.a += 20;
which.b -= 20;

return which;
}

我想要完成的是,我希望能够将任何 Class_A 传递给函数,然后将更改分配回传递给它的任何内容。
我试过这个:

Class_A temp = func (my_class_b);
my_class_b = temp;

将 my_class_b 传递给 Class_A 是可行的,但将其分配回 my_class_b 则不行。

我得到一个:

no match for 'operator=' in 'my_class_b = temp'

执行此操作的最佳方法是什么?感谢您的帮助。

最佳答案

将函数更改为:

void func (Class_A& which)
{
which.a += 20;
which.b -= 20;
}

像这样使用它

func(my_class_b);

关于c++ - 遗产。如何让 child = parent ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25107077/

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