C++函数调用问题
程序是这样的:#include <iostream>using namespace std;class A{private: int m;public: A( int i = 0 ){ m = i; cout << "construction." << m << endl;} A( const A & a); A operator=(const A & a); void print()const; ~A(){ cout << "destruction" << m << endl ; }};
void fun(const A & a);
A::A(const A & a){ m = a.m; cout << "copy construction." << m << endl;}
A A::operator=(const A & a){ m = a.m; cout << "Assign construction." << m << endl; return *this;}
void A::print()const{ cout << m << endl;}
void fun( const A & a){ a.print();}
int main(void){ A a,b = 5; a = 4; fun(a); fun(5); return 0;}运行结果为:(实在搞不懂这个运行结果)前面还明白,后面就不懂了,想了好久,查资料也弄不明白,各位高手帮帮忙的啦,