第十周项目 0 阅读程序(5)
来源:互联网 发布:golang beego 编辑:程序博客网 时间:2024/06/06 09:17
/* * Copyright (c) 2015, 烟台大学计算机学院 * All rights reserved. * 文件名称:main.cpp * 作 者 :韩娟 * 完成日期 :2015年6月2日 * 版 本 号 :v1.0 * * 问题描述 : 阅读程序 * 输入描述 : 略 * 程序输出 :按要求输出 */ #include <iostream>using namespace std;class A{protected: int a,b;public: A(int aa, int bb):a(aa), b(bb) {} void printA() { cout<<"a: "<<a<<"\tb: "<<b<<endl; }};class B: public A{ int c;public: B(int aa, int bb, int cc):A(aa,bb),c(cc) {} void printB() { cout<<"a: "<<a<<"\tb: "<<b<<"\tc: "<<c<<endl; }};int main(){ A a(1,1); B b(2,3,4); //此处加入下面各小题中的代码 a=b; a.printA(); b.printA(); b.printB(); return 0;}
2)
b=a; a.printA(); b.printA(); b.printB();
程序会发生编译错误,原因是:基类不能向派生类赋值
3)
A &r1=a; A &r2=b; r1.printA(); r2.printA(); r2.printB();
需要删去的一行是:
r2.printB();
错误的原因:
赋值的时候只是针对数据成员而不是成员函数。
4)
A *p=&a; p->printA(); p=&b; p->printA(); p->printB();
需要删去的是:
p->printB();
原因:
只想基类的指针和指向派生类的指针出现了问题。
5)
在class A中增加成员函数:
int getA(){return a;}
在main函数前增加一般函数:
void f(A x){ cout<<"aaaaah, my a: "<<x.getA()<<endl;}
main函数中指定部分为:
f(a); f(b);
0 0
- 第十周第十一周项目1阅读程序(5)
- 第十周项目 0 阅读程序(5)
- 第十周项目 0 阅读程序(1)
- 第十周项目 0 阅读程序(2)
- 第十周项目 0 阅读程序(3)
- 第十周项目 0 阅读程序(4)
- 第十周第十一周项目1阅读程序(1)
- 第十周第十一周项目1阅读程序(2)
- 第十周第十一周项目1阅读程序(3)
- 第十周第十一周项目1阅读程序(4)
- 第十周第十一周项目1阅读程序(6)
- 第十周第十一周项目1阅读程序(7)
- 第十周第十一周项目1阅读程序(8)
- 第十周第十一周项目1阅读程序(9)
- 第十周项目一 (程序填充与阅读) 1:
- 第十周项目一程序填充与阅读(1)
- 第十周 项目一:程序填充与阅读(1)
- 第十周 项目一:程序填充与阅读(2)
- new name
- 如何关闭 linux 命令行提示音 beep
- 简单的网页播放器插件
- SED单行脚本快速参考(Unix 流编辑器)
- Hibernate Composite-element映射的一个简单例子
- 第十周项目 0 阅读程序(5)
- php 蒋中文首字母转换成拼音
- 大神学好网络经验谈
- 【python学习笔记一】
- t-分布邻域嵌入算法(t-SNE algorithm)简单理解
- ios监听音量按键
- 单元测试之Junit和spring集成
- Android 应用性能优化(二)高效使用内存
- hdu 5254 棋盘占领(百度之星2015初赛2 1003)暴力模拟