文档介绍:完整word版,c++经典面试题
完整word版,c++经典面试题
完整word版,c++经典面试题
1. C 和 C++ 中 struct 有什么差异?
C 语言中: Struct 是用户自定义数据种类(UDT )
C++ 语言中:
Struct 是抽象数据种类( ADT ),支持成员函数的定义。
在 C++ 中,struct 的成员的默认接见说明符为public ,class 为 private 。
c 中的 struct 是没有权限设置的。
C++ 中 struct 增添了接见权限 ,且能够和类相同有成员函数。
C++ 中的 struct 等同于 class, 不过 class 默认成员权限是 private, 而 struct 默认成员权限是 public 。
1> C++ 中的 struct 近似于 class ,有变量,有结构函数、虚函数等,有
继承,多态等类的特色;
2> 2> C 中的 struct只有变量,不可以有函数,可是能够有函数指针
C++ 中的 struct 和 class 有什么差异?
在 C++ 中,二者差异不大,可是有 2 个主要的差异
1>.继承权限: struct 默认是 public 继承; class 默认是 private继承
1
完整word版,c++经典面试题
完整word版,c++经典面试题
完整word版,c++经典面试题
2>.接见权限: struct 默认是 public 接见; class 默认是 private接见
C 编译程序仍是由 C++ 编译程序编译的?
【标准答案】
#ifdef __cplusplus
cout<< “ c++";
#else
cout<<"c";
#endif
(这个从前还真没注意过,涨姿势了。。。)
C 和 C++ 有什么不一样 ?
【参照答案】
从体制上:
c 是面向过程的(但c 也能够编写面向对象的程序);
完整word版,c++经典面试题
完整word版,c++经典面试题
完整word版,c++经典面试题
2
完整word版,c++经典面试题
完整word版,c++经典面试题
完整word版,c++经典面试题
c++ 是面向对象的,供给了类。可是, c++ 编写面向对象的程序比 c 容
易。
从合用的方向: c 合适要求代码体积小的, 效率高的场合, 如嵌入式; c++ 合适更上层的, 复杂的 ; linux 核心大多半是 c 写的,因为它是系统
软件,效率要求极高。
从名称上也能够看出, c++ 比 c 多了 + ,说明 c++ 是 c 的超集;那为何不叫 c+ 而叫 c++ 呢,是因为 c++ 比 c 来说扩大的东西太多了, 所以就在 c 后边放上两个 + ;于是就成了 c++ 。
C 语言是结构化编程语言, C++ 是面向对象编程语言。 C++ 重视于对
象而不是过程,重视于类的设计而不是逻辑的设计。
对于这个问题,个人感觉《Effective C++》上边第一条说的很好,
View C++ as a federation of C++ 当成一个语言联邦。
C++ 由四部分构成
1> c 语言部分;
完整word版,c++经典面试题
完整word版,c++经典面试题
完整word版,c++经典面试题
3
完整word版,c++经典面试题
完整word版,c++经典面试题
完整word版,c++经典面试题
2>面向对象部分,包含封装、继承、多态这些C 语言所没有的特征;
3>泛型编程部分,大多半类、函数要考虑到把它设计成模板,方便复
用;
4> STL 库,里面封装了大批的优异模板,是3>中内容的集成, 学
会使用它们能够让代码更高效。自然,最好去深入认识 STL 源码,那样
会对 C++ 有更深的理解。
“引用 ”与指针的差异是什么?【参照答案】
指针经过某个指针变量指向一个对象后,对它所指向的变量间接操作。
程序中使用指针,程序的可读性差;而引用自己就是目标变量的又名,对引用的操作就是对目标变量的操作。
在另一本 C++ 著作《More Effective C++》里,第一条就是阐述point
和 reference 的差异总结一下 ,
1>指针是一个储存地点的变量,而引用是一个变量的又名。所以在一
个函数中,传引用要比传指针速度更快。
完整word版,c++经典面试题
完整word版,c++经典面试题
完整word版,c++经典面试题
4
完整word版,c++经典面试题
完整word版,c++经典面试