首页 > 其他 > 详细

程序员面试宝典笔记

时间:2020-04-04 12:06:01      阅读:65      评论:0      收藏:0      [点我收藏+]

目录

第十一章 接口与继承

1、覆盖

2、虚继承

第十二章位运算与嵌入式编程

1、位值转换

2、int、float等占的字节数

 

第十一章 接口与继承

1、覆盖

1 A* pa = new A();  
2 pa->foo();        
3 B* pb = (B*)pa;   //此时pa仍然是指向A的类对象,因此pb也指向A的类对象
技术分享图片
 1 #include <iostream>
 2 using namespace std;
 3 
 4 class A
 5 {
 6 public:
 7     void virtual foo()
 8     {
 9         cout << "A" << endl;
10     }
11 };
12 class B :public A
13 {
14 public:
15     void virtual foo()    //这里不加virtual也是可以的,只要基类中加派生类同名函数自动成为虚函数
16     {
17         cout << "B" << endl;
18     }
19 };
20 int main()
21 {
22     A* pa = new A();  //创建指向A类对象的指针pa
23     pa->foo();        //由于pa是基类指针,所以执行基类A中的函数foo()
24     B* pb = (B*)pa;   //将pa转换为B类型并创建B类型指针,最后将pa赋值给pb,但是pa仍然指向基类的类对象,所以pb也指向基类的类对象
25     pb->foo();        //执行基类A中的函数foo()
26     delete pa, pb;
27 
28     pa = new B();    //此时pa指向了派生类的类对象
29     pa->foo();       //执行派生类中的函数foo()
30     pb = (B*)pa;
31     pb->foo();       //执行派生类中的函数foo()
32 
33     system("pause");
34     return 0;
35 }
View Code

技术分享图片

 2、虚继承

技术分享图片

 

 技术分享图片

 

 技术分享图片

第十二章位运算与嵌入式编程

1、位值转换

 1 #include <stdio.h>   //for printf()
 2 #include <iostream>  //for system()
 3 
 4 int main()
 5 {
 6     printf("%f\n", 5);
 7     printf("%d\n", 5.0);
 8 
 9     system("pause");
10     return 0;
11 }

技术分享图片

2、int、float等占的字节数

 1 #include <iostream>  //for system()
 2 using namespace std;
 3 int main()
 4 {
 5     cout << "char" << " " << "int" << " " << "float" << " " << "double" << " " << "long" << " " << "short" << "\t\n";
 6     cout << sizeof(char)<<"  " << sizeof(int) << "  " << sizeof(float) << "  " << sizeof(double) << "  " << sizeof(long) << "  " << sizeof(short) << "\t\n";
 7 
 8     system("pause");
 9     return 0;
10 }

技术分享图片

 

程序员面试宝典笔记

原文:https://www.cnblogs.com/YiYA-blog/p/12630554.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!