#include "iostream"
using namespace std;
class MyCircle
{
public:
double m_r;
double m_pi = 3.14;
double m_s=m_pi*m_r*m_r;
};
void main(){
MyCircle c1;
double r;
cout << "Please Enter a num:";
cin >> r;
cout << "The square is:"<<c1.m_s << endl; //这里会出现乱码
system("pause");
}
出现乱码的原因是在最上面的内存块中,c1初始化会执行double m_s=m_pi*m_r*m_r;,而在后面的c1.m_s就不在调用m_pi*m_r*m_r而是直接使用m_s,而在初始化中m_s=m_pi*乱码*乱码。如上图所示。