第十二周阅读项目(5)
来源:互联网 发布:阿里算法工程师p6待遇 编辑:程序博客网 时间:2024/06/07 03:45
问题及代码:
#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); //此处加入代码1 }(a) b=a; a.printA(); b.printA(); b.printB(); return 0;运行结果:a: 2 b: 3a: 2 b: 3a: 2 b: 3 c: 4(b) b=a; a.printA(); b.printA(); b.printB(); 编译错误原因:基类a的值不可以赋给派生类b IDE中显示的错误:no match for 'operator=' in 'b=a'(c) A &r1=a; A &r2=b; r1.printA(); r2.printA(); r2.printB(); 运行结果: a:1 b:1 a:2 b:3 去掉的一行编译错误的原因:类A中没有成员c (d) A *p=&a; p->printA(); p=&b; p->printA(); p->printB(); 运行结果: a:1 b:1 a:2 b:3 那一行错误的原因:类A中没有成员c (e) 在class A中增加成员函数: int getA(){return a;} 在main函数前增加一般函数: void f(A x) { cout<<"aaaaah, my a: "<<x.getA()<<endl; } main函数中指定部分为: f(a); f(b); 运行结果: aaaaah, my a: 1 aaaaah, my a: 2
学习总结:看了同学的解析还是有所理解的~~
0 0
- 第十二周阅读项目(5)
- 第十二周 阅读项目 (5)
- 第十二周项目一——阅读程序(5)
- 第十二周 项目一:阅读程序(5)
- 第十二周项目1-(阅读程序4、5)
- 第十二周项目-阅读与程序5(2)
- 第十二周项目一——程序阅读(5)
- 第十二周项目一阅读程序(5)
- 第十二周项目一程序阅读(5)函数模板
- 第十二周项目1-阅读程序(5)
- 第十二周上机项目1 阅读程序(5)
- 第十二周项目一——阅读程序(5)
- 第十二周项目一:阅读程序5
- 第十二周项目-阅读与程序5
- 第十二周 项目一 程序阅读 5
- 第十二周 项目一 程序阅读5
- 第十二周项目1-(阅读程序)
- 第十二周阅读项目(1)
- load方法和initialize方法
- c函数返回数组
- process terminated with status 255 in codeblocks
- poj2386(dfs)
- VC设置鼠标光标的方式比较
- 第十二周阅读项目(5)
- C# InterLocked类 同步 i++
- 关于 tomcat 集群中 session 共享的三种方法
- udp的一些简单记录
- SEL类型(用来封装方法)
- LTE物理层数据处理过程
- 算法学习:起点
- linux 命令系列之 日志简介(74)
- IOS 第三方库