gpt4 book ai didi

c++ - 未调用重载的赋值运算符

转载 作者:太空宇宙 更新时间:2023-11-03 10:21:30 24 4
gpt4 key购买 nike

我已经编写了一个类 perform 的重载赋值运算符来复制所有变量值。例如:在 Exp.cpp 中

class perform
{
LOG *ptr;
int a;
//constructor
//destructor
perform operator=(const perform & rhs){

ptr = rhs.ptr; a=rhs.s;
return * this;}
};

在另一个类 output 中,我为 abc 声明了一个指针。

perform * ptr = StatCol::CreateCol(frm);
abc = ptr; //this line should invoke assignment overloaded.
//but in my case it's not invoked.

最佳答案

假设 abc 是一个 Perform 对象,您需要取消引用您正在分配的指针:

abc = * ptr;

如果 abc 本身是一个指针,那么你不能做你想做的事情——你不能在 LHS 是一个指针的地方重载赋值。您将不得不取消引用这两个指针:

* abc = * ptr;

关于c++ - 未调用重载的赋值运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3386862/

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