文档介绍:: .
[收集] 经典 C/C++面试题(一)
1,;框架针对特定业务
的问题域
2,,才能产生代码;框架已经可以用
代码表示
3,
,就形成套路(框架),框
架是一种半成品.
++和 C 定义结构的分别是什么。
C language 的结构仅仅是数据的结合
C plus plus 的 struct 和 class 其实具备几乎一样的功能,只是默认的访问属性不一
样而已。
,为什么?析构函数呢,可否是纯虚的呢?
构造函数不能为虚函数,要构造一个对象,必须清楚地知道要构造什么,否则无法构造
一个对象。
析构函数可以为纯虚函数。
,深拷贝,浅拷贝,临时对象等。
深拷贝意味着拷贝了资源和指针,而浅拷贝只是拷贝了指针,没有拷贝资源
这样使得两个指针指向同一份资源,造成对同一份析构两次,程序崩溃。
临时对象的开销比局部对象小些。
1 个你认为比较能体现 OOP 思想的项目,用 UML 来描述。(最好这个项目继承,多态,虚
函数都有体现)这个问题大概会占面试时间的一半,并且会问很多问题,一不小心可能会被问住)。
。。 。
1 个虚函数,子类还需要申明为 virtual 吗?为什么。
不申明没有关系的。
不过,我总是喜欢显式申明,使得代码更加清晰。
也可以通过精心封装某些函数功能实现重用,那 C++的类有什么优点吗,难道仅仅是为
实现重用。
并不仅仅是这样的。
OOD,OOP 从根本上改变了程序设计模式和设计思想,具备重大和深远的意义。
类的三大最基本的特征:封装,继承,多态.
++特点是什么,如何实现多态?画出基类和子类在内存中的相互关系。
多态的基础是继承,需要虚函数的支持,简单的多态是很简单的。
子类继承父类大部分的资源,不能继承的有构造函数,析构函数,拷贝构造函数,
operator=函数,友元函数等等
?
主要目的是为了实现一种接口的效果。
。如何实现?(也许会让你当场举例实现)
模板可以说比较古老了,但是当前的泛型编程实质上就是模板编程。
它体现了一种通用和泛化的思想。
STL 有 7 种主要容器:vector,list,deque,map,multimap,set,multiset.
MVC。简单举例来说明其应用。
MVC 模式是 observer 模式的一个特例,典型的有 MFC 里面的文档视图架构。。
使用虚拟继承即可.
[收集] 经典 C/C++面试题(二)
1. 以下三条输出语句分别输出什么?[C 易]
char str1[] = "abc";
char str2[] = "abc";
const char str3[] = "abc";
const char str4[] = "abc";
const char* str5 = "abc";
const char* str6 = "abc";
cout << boolalpha