第10,11周 阅读程序写出运行结果 (1)


/* 
2.02. *Copyright (c) 2016,烟台大学计算机学院 
3.03. *All rights reserved. 
4. 04. *文件名称:cpp 
5. 05. *作    者:孙亚茹 
6.06. *完成日期:2016年5月10日 
7.07. *版 本 号:v1.0 
8. 09. *问题描述:阅读程序,写出执行结果。
9.*/  
#include <iostream>
using namespace std;
class Data
{
public:
    Data(int i):x(i){cout<<"A";}
    ~Data(){ cout<<"B";}
private:
    int x;
};
class Base
{
public:
    Base(int i):b1(i){cout<<"C";}
    ~Base(){ cout<<"D";}
private:
    int b1;
};
class Derived:public Base
{
public:
    Derived (int i,int j):Base(i),d1(j){
        cout<<"E";
    }
    ~Derived(){cout<<"F";}
private:
    Data d1;
};
int main()
{
    Derived obj(1,2);
    return 0;
}

.学习总结:

                 阅读以后以为运行结果为:DEF.错误原因是:(1)把共有成员误当成私有成员,以为派生类不能访问。(2)没有看清派生类的私有数据成员类型为继承类,这导致运行结果中A,B没有出现,(3)错误认为继承类的析构函数也应当在执行派生类成员函数之前执行。

知识点总结:

               (1)继承类的公有成员函数派生类一样能执行。(2)派生类中不管是执行继承过来的成员函数还是本身的成员函数它们的析构函数都要最后执行,并按照相反的顺序执行.(3)读程序一定要看清各个成员类型,要认真。                                                                                         


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值