C++程序问题,不会啊,求助 55

来源:百度知道 编辑:UC知道 时间:2024/07/01 05:02:30
#include<iostream.h>
class A
{
pulic:
A(int i);
void Print()
{cout<<a<<','<<b<<','<<r<<endl;}
const int &r;
private:
const int a;
static const int b;
};
comst int A::b=15;
A::A(int i):a(i),r(a)
{ }
void main()
{
A a1(10),a2(20);
a1.Print();
a2.Print();
}
输出结果是
10,15,10
20,15,20
帮我分析一下过程啊,谢谢啊.........

#include<iostream.h>
class A
{
pulic:
A(int i); //是一个参数为int 型的构造函数
void Print() //是一个类A的成员函数,其目的是为了输出
{cout<<a<<','<<b<<','<<r<<endl;}
const int &r; //定义了一个int型常量
private:
const int a;
static const int b;
};
comst int A::b=15; //打错了把,应该是const,意思是对类A的私有成员b进行赋值.
A::A(int i):a(i),r(a)//构造函数的实现部分,可以理解为把参数i赋给a,再把a赋给r;
{ }
void main()
{
A a1(10),a2(20); //定义a1,a2,为类A的对象,定义的同时系统直接调用构造函数,进行赋值.
a1.Print(); //调用成员函数把a,b,c的值输出
a2.Print(); //同上
}
当定义a1(10)时,类A的构造函数的参数为10,系统就把a=10;&r=a;
当对象a1调用类A的成员函数void Print(),把a,b,c的值输出.
a2同a1.