#include <iostream> using namespace std; class classA { public: int _number; classA(){} classA(int number) { _number = number; } ~classA(){} /* 问题出在我自己写的拷贝构造函数,不加“const”会导致后面的“classA c = a + b;” 以及“return classA(_number += a._number);”报错*/ classA(const classA &a) { _number = a._number; } classA operator+(classA &a) { return classA(_number += a._number); }};int main(){ classA a(1),b(2); classA c = a + b; cout << c._number << endl; return 0;}
源代码如上所示,加了const不会报错,不加const会报错,为什么?
AAnonymous
阿臣儿
相关分类