您的位置:首页 > 其它

第十、十一周项目1:阅读程序,写出执行结果(2)

2016-05-10 19:31 357 查看

问题及代码:

#include <iostream>

using namespace std;
class A
{
public:
A(){a=0;}
A(int i){a=i;}
void print(){cout<<a<<" ";}
private:
int a;
};
class B:public A
{
public:
B(){b=0;}
B(int i,int j,int k):A(i),aa(j){b=k;}
//思考:这3处出现的print有何区别
void print()
{
A::print();
aa.print();
cout<<b<<endl;
}
private:
int b;
A aa;
};
int main()
{
B test[2];
int i;
test[0]=B(1,4,7);
test [1]=B(2,5,8);
for(i=0;i<2;i++)
test[i].print();
return 0;
}


运行结果:



知识点总结:

这个程序的过程是:先执行test[0]和test[1]的构造函数,对test[0]a,aa,b赋值147,对test[1]赋值258,然后执行这两个对象的print函数,输出147和258.

学习心得:

在读程序的时候不要着急,按照从主函数的顺序,很容易读懂程序。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: