关于常对象的问题
#include<iostream>
using namespace std;
class A
{
public:
A(int i);
void print();
const int &r;
private:
const int a;
static const int b;
};
const int A::b=10;
A::A(int i):a(i),r(a){}
void A::print()
{
cout<<a<<":"<<b<<":"<<r<<endl;
}
void main()
{
A a1(100),a2(0);
a1.print();
a2.print();
}
为什么把程序把构造函数改为A::A(int i):a(i),r(i){}后运行结果会不同?
本人初学C++,可以说得详细一点吗?
比如为什么更改后r的值会变成一个莫名的值?谢谢