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

来源:互联网 发布:linux 系统 死机 日志 编辑:程序博客网 时间:2024/04/30 03:58


问题及代码:

#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.

学习心得:

在读程序的时候不要着急,按照从主函数的顺序,很容易读懂程序。

0 0
原创粉丝点击