阅读项目-3
来源:互联网 发布:js什么叫框架 编辑:程序博客网 时间:2024/04/30 18:12
/*copyright(c)2016.烟台大学计算机学院 * All rights reserved, * 文件名称:text.Cpp * 作者:刘涛 * 完成日期:2016年5月19日 * 版本号:vc++6.0 *问题描述:阅读项目 */#include <iostream>using namespace std;class Part //部件类{public: Part(); Part(int i); ~Part();private: int val;};Part::Part(){ val=0; cout<<"调用Part的默认构造函数:"<<val<<endl;}Part::Part(int i){ val=i; cout<<"调用Part的构造函数: "<<val<<endl;}Part::~Part(){ cout<<"调用Part的析构函数: "<<val<<endl;}class Whole: public Part{public: Whole(); Whole(int,int,int,int); ~Whole();private: Part one; Part two; int data;};Whole::Whole(){ data=0; cout<<"调用whole的默认构造函数: "<<data<<endl;}Whole::Whole(int p, int i,int j,int k): Part(p),one(j),two(i),data(k) //问题2{ cout<<"调用whole的构造函数: "<<data<<endl;}Whole::~Whole(){ cout<<"调用whole的析构函数: "<<data<<endl;}void f(){ Whole w1; Whole w2(1,2,3,4);}int main(){ f(); return 0;}
运行结果:
结果分析:
调用f()函数,先调用无参数的构造函数,由于Whole是Part的派生类,所以先给Part类赋值,调用无参数的构造函数,输出0,再给Whole类的成员赋值,由于one,two是Part类的,默认值为0,所以也输出0,最后给data赋值。
在Whole类的构造函数中,one,two和i,j调换了位置,所以先输出3,再输出2,然后最后输出4,程序完成后,按相反顺序依次调用析构函数。
0 0
- 阅读项目-3
- 第十四周阅读项目-3
- 第十六周阅读项目-3
- 第十二周项目1-阅读程序3
- 第十二周项目一:阅读程序3
- 第十二周项目-阅读程序3
- 第十二周项目1---阅读3
- 第3周-项目0-阅读程序
- 第6周项目程序阅读3
- 第8周项目 程序阅读(3)
- 第11周项目 程序阅读(3)
- 第十一周 阅读项目 3 改变
- 第十二周阅读项目(3)
- 第12周项目 程序阅读(3)
- 第13周项目—阅读3
- 第13周项目 程序阅读(3)
- 第十四周阅读项目(3)
- 第14周项目阅读3
- 第十周上机时间项目——项目1-点圆圆柱类族的设计
- LeetCode 28. Implement strStr()(实现子串定位)
- 第九周项目训练3
- Android逆向之分析某锁机恶意软件
- c++实验6-项目3:矩阵求和
- 阅读项目-3
- C++第六次上机实验--矩阵求和
- 用对象数组操作长方柱类
- javascript实现打印html制定区域同时消除header/footer区域
- 第十一周【补充项目1 - 是春哥啊】
- ubuntu14.04.1 安装配置jdk1.7
- 存储班长信息的学生类(2)
- 第十一周上机实践项目1(1):点-圆-圆柱类族的设计
- Android问题一:You need to use a Theme.AppCompat theme (or descendant) with this activity.