问题如程序中的注释。
#include <iostream>
using namespace std;
class two
{
private:
//int n; //问题,要是在构造函数外定义n,编译会错误
int a ;
//a=2; //奇怪,要是在构造函数外給a赋值,编译就会出现错误!!!
int i;
public:
two(int n) {
a=2;
for ( i = 1 ; i <= n ;i++ )
a = a*2;
}
~two() {cout << a << endl; }
};
void main()
{
int j;
cout <<"请输入一个整数" <<endl ;
cin >>j;
two b(j);
}
本文探讨了C++中类的成员变量初始化问题,特别是构造函数内外的不同初始化方式及其对编译的影响。通过一个具体例子展示了如何在构造函数内正确初始化成员变量,并解释了为什么在构造函数外部初始化或赋值会导致编译错误。
5802

被折叠的 条评论
为什么被折叠?



