23
2008
11

c++经典面试题

1.是不是一个父类写了一个virtual 函数,如果子类覆盖它的函数不加virtual ,也能实现多态?

virtual修饰符会被隐形继承的。
private 也被集成,只事派生类没有访问权限而已
virtual可加可不加
子类的空间里有父类的所有变量(static除外)
同一个函数只存在一个实体(inline除外)
子类覆盖它的函数不加virtual ,也能实现多态。
23
2008
11

《C++高效编程》学习笔记

1.尽量用const 和inline 而不用#define 1)例:#define ASPECT_RATIO 1.653 在源码进入编译器之前,预编译指令会被处理器去掉,直接用1.653代替ASPECT_RATIO,如果涉及到这个常量的代码出错,若想由1.653追踪到原指令会很困难 所以,这种情况下一般用const double ASPECT_RATIO=1.653代替。
23
2008
11

数据类型转换:static_cast,const_cast等用法

* C++提供了四种新的类型强制: static_cast const_cast reinterpret_cast dynamic_cast 1)staic_cast静态强制; 不能在无关的指针之间进行static类型强制
11
2008
11

高精度的计时器

写程序时有时候需要判断程序的运行性能瓶颈,就需要计时器的帮助,但是一般的计时器精度不高,只能达到毫秒级的精度,下面这个计时器是使用cpu的频率来进行计时,所以他的精度很高,封装成类之后使用也很方便。
21
2008
10

解读求π的怪异代码,只用三行算出800位

网上流传着一个怪异的求pi程序,虽然只有三行却能求出pi值连小数点前共800位。你可以运行一下试试,我第一次运行也被这程序吓住了。这个程序如下:/*某年Obfuscated C Contest佳作选录:*/
18
2008
10

JAVA和C++的区别

JAVA和C++都是面向对象语言。也就是说,它们都能够实现面向对象思想(封装,继乘,多态)。而由于c++为了照顾大量的C语言使用者,而兼容了C,使得自身仅仅成为了带类的C语言,多多少少影响了其面向对象的彻底性!JAVA则是完全的面向对象语言,它句法更清晰,规模更小,更易学。它是在对多种程序设计语言进行了深入细致研究的基础上,据弃了其他语言的不足之处,从根本上解
15
2008
10

用c语言写一个简单的windows程序

#includeLRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM);//窗口函数说明int APIENTRY WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine, int nCmdShow){
14
2008
10

VC的预编译机制

预编译头的概念:   所谓的预编译头就是把一个工程中的那一部分代码,预先编译好放在一个文件里(通常是以.pch为扩展名的),这个文件就称为预编译头文件这些预先编译好的代码可以是任何的 C/C++代码--------甚至是inline的函数,但是必须是稳定的,在工程开发的过程中不会 被经常改变。如果这些代码被修改,则需要重新编译生成预编译头文件。注意生成预编 译头文件是很耗时间的。同时你
14
2008
10

Windows Gdi 应用-入门篇

一、 基础GDI的绘图函数基本上都是有状态的,所有的函数都要求一个HDC类型的句柄。这个HDC的获得有几个途径BeginPaint,GetWindowDC, GetDC.他们的参数都只需要一个HWND就差不多了。记得调用了BeginPaint后要调用EndPaint进行清理,调用GetWindowDC和GetDC后要调ReleaseDC进行清理。在MFC代码中常常遇到的CDC CPaintDC C
07
2008
10

STL中map用法详解

Map是STL的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能称为该关键字的值)的数据处理能力,由于这个特性,它完成有可能在我们处理一对一数据的时候,在编程上提供快速通道。这里说下map内部数据的组织,map内部自建一颗红黑树(一种非严格意义上的平衡二叉树),这颗树具有对数据自动排序的功能,所以在map内部所有的数据都是有序的,后边我们会见识到有