gpt4 book ai didi

c++ - 赋值运算符是否适用于不同类型的对象?

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:03:32 26 4
gpt4 key购买 nike

class A {
public:
void operator=(const B &in);
private:
int a;
};

class B {
private:
int c;

}

对不起。发生了一个错误。赋值运算符有效吗?或者有什么办法可以做到这一点? [A类和B类之间没有关系。]

void A::operator=(const B& in) 
{
a = in.c;

}

非常感谢。

最佳答案

是的,你可以这样做。

#include <iostream>
using namespace std;

class B {
public:
B() : y(1) {}
int getY() const { return y; }
private:
int y;
};


class A {
public:
A() : x(0) {}
void operator=(const B &in) {
x = in.getY();
}
void display() { cout << x << endl; }
private:
int x;
};


int main() {
A a;
B b;
a = b;
a.display();
}

关于c++ - 赋值运算符是否适用于不同类型的对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/728986/

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