1. C '='号 导入
C语言 “=” 号,可进行的运算如:
int a,b,c;
/*运算过程:b=c-> a=b*/
a=b=c;
/*运算过程: a=b->a=c*/
(a=b)=c;
2. C++ 类支持 “=” 运算,应当支持如下形式
2.1 类的=运算
class A
{
};
int main()
{
A a,b,c;
a=b=c;
/*=返回为左值,非常属性*/
(a=b)=c;
}
2.2 类 ‘=’ 运算符重载
#include <iostream>
#include <string>
using namespace std;
class Stack
{
public:
Stack(void)
{
cout << "无参构造" << endl;
}
Stack& operator= (Stack const& rhs)
{
cout << "赋值函数" << endl;
return *this;
}
Stack (Stack const& that)
{
cout << "拷贝构造 " << endl;
}
};
int main(void) {
Stack stack;
Stack stack_n2;
/*赋值操作,调用函数stack.operator=(stack_n2)*/
stack = stack_n2;
return 0;
}