第十周-阅读程序
来源:互联网 发布:阿里云 负载均衡 使用 编辑:程序博客网 时间:2024/05/21 07:01
阅读程序1:
问题及代码;
/*copyright 计算机与控制工程学院完成日期:2016年5月6日作者:马艳艳问题描述:无输入描述:无输出描述:结果;*/#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;}
运行结果:
知识点总结:
在构造函数的初始化列表中,先构造Base类的构造函数输出C,然后执行Data的构造函数输出A,然后输出E,接着程序执行完毕释放,执行析构函数,先析构Derived,输出F,后析构Data,输出B,接着析构Base,输出D
阅读程序2:
/*copyright 计算机与控制工程学院完成日期:2016年5月6日作者:马艳艳问题描述:无输入描述:无输出描述:结果;*/#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() //(1) { A::print(); //(2) aa.print(); //(3) cout<<b<<endl; }private: int b; A aa;};int main(){ B test[2]; test[0]=B(1,4,7); test[1]=B(2,5,8); for(int i=0; i<2; i++) test[i].print(); return 0;}
运行结果:
知识点总结:
类B继承了类A,同时类A又是类B的数据成员
- 在类B中的三个print是不一样的:
- (1)表示类B中的一个成员函数
- (2)表示用类名调用A类中的成员函数
- (3)表示对象aa调用成员函数
0 0
- 第十周-阅读程序
- 第十周-阅读程序
- 第十周-阅读程序
- 第十周-阅读程序
- 第十周第十一周-阅读程序
- 第十周第十一周阅读程序-4
- 第十周阅读程序 一
- 第十周阅读程序二
- 第十周阅读程序三
- 第十周项目-程序填充与阅读
- 第十周练习 继承机制阅读程序
- 第十四周阅读程序
- 第十一周 阅读程序
- 第十四周 阅读程序
- 第十四周程序阅读
- 第十一周阅读程序
- 第十一周阅读程序
- 第十一周阅读程序
- VB6实现真正的继承【转】
- 腾讯深度学习系列——深度学习及并行化实现概述
- 指针与结构体
- android权限大全
- MacBook推荐使用软件
- 第十周-阅读程序
- Java Jersey2使用总结
- android线程间通信和主线程更新ui
- shapfile中文读取乱码
- Android官方MVP架构示例项目解析
- MathType中常遇到的几个问题
- Java的深克隆与浅克隆
- [一起学Hive]之十六-Hive的WEB页面接口-HWI
- 每个程序员应该阅读的10本经典书籍