这道C++题怎么做的?

来源:百度知道 编辑:UC知道 时间:2024/09/20 23:19:27
#include<iostream.h>
class A
{
static int n;
public:
A(){n=1;}
A(int num){n=num;}
void print(){cout<<n;}
};
int A::n=2;
void main()
{
A a, b(5);
a.print();
b.print();
cout<<endl;
}

A a, b(5);这儿是怎么回事儿啊

A a, b(5);这儿是怎么回事儿啊

定义两个A类型的变量a和b,前者采用缺省构造函数A::a() ,后者使用带参数的构造函数 A::a(int) 参数为5.

由于A::n是静态成员,该语句执行后,n的数值为5. 打印出的结果都是5.

原函数有两个构造函数,A a;表示使用了第一个构造函数:A(){n=1}
A b(5)表示使用了第二个构造函数A(int num){n=num},最终n=5