问题描述
class A[
{
int x;
string y;
float z;
....
}
然后我有一个整数,称为“整数”。 我如何重新定义 = 运算符以执行类似
int integer;
A obj = integer;
A obj(integer,",0);
解决方法
这有点顽皮,但是:
#include <iostream>
using std::cout;
using std::endl;
class A {
public:
int x;
A & operator=(int value) {
x = value;
return *this;
}
};
int main(int,char **) {
A obj;
obj.x = 5;
cout << "Initially: " << obj.x << endl;
obj = 10;
cout << "After: " << obj.x << endl;
}
运行时:
g++ Foo.cpp -o Foo && Foo
Initially: 5
After: 10
这就是你想要做的吗?请注意,这是非常顽皮的。类 A 不是整数,将其分配给 int 会使人们感到困惑。 C++ 可以让你做一些你可能不应该做的事情,这就是其中之一。