摘要: 我到美国考取的奖学金项目是由李政道发起的,这个项目每年从中国招100个学生到美国去学习。考这个项目的时候,全国各大学筛选出来700个人参加考试,清华送出一个有25人参加的代表队。说实话,所有能来参加考试的人其实都是各学校的尖子,几乎每个人都有远大的抱负,想拿到诺贝尔奖、想当物理大师的比比皆是,每个人都特别狂。而且在应考阶段,主考方面把大家放在一起,一天24小时让他们在各个方面进行较量,这就把学习变成了一场非常艰苦的心理搏斗。 这个项目最终的录取人数为100人,所有这700名学生都经过了严格的三天考试。那次清华有8个人考上这个项目,我就是其中的一个。这场竞争给我留下的印象之深,至今都让我觉得有一 阅读全文
posted @ 2011-12-10 14:23 锦衣夜行 阅读(436) 评论(0) 推荐(0) 编辑
摘要: 最近需要在 Windows 上用 Visual Studio 来开发 Qt 程序,做了一下 VS2008 和 QT 的集成,集成完之后发现用VS开发Qt的确方便:支持控件拖拉,编译调试方便,支持代码的IntelliSense ... 。简直是开发Qt程序的不二之选。下面记录了集成VS和QT的步骤:1. 安装 VS2008 最好是完全安装,当然如果用不到的话,VB 和 C# 可以不选,反正 VC 是一定要装。2. 安装 Qt4.5 的源码 去 http://get.qtsoftware.com/qt/source/ 下载 qt-win-opensource-src-4.5.2.zip, 解压到 阅读全文
posted @ 2011-12-09 17:07 锦衣夜行 阅读(978) 评论(0) 推荐(0) 编辑
摘要: 一.简介 虚函数是C++中用于实现多态(polymorphism)的机制。核心理念就是通过基类访问派生类定义的函数。假设我们有下面的类层次: class A { public: virtual void foo() { cout << "A::foo() is called" << endl;} }; class B: public A { public: virtual void foo() { cout << "B::foo() is called" << endl;} }; 那么,在使用的时候,我们可 阅读全文
posted @ 2011-12-07 16:09 锦衣夜行 阅读(117) 评论(0) 推荐(0) 编辑
摘要: 虚析构函数 虚析构函数是为了解决这样的一个问题:基类的指针指向派生类对象,并用基类的指针删除派生类对象。 如果某个类不包含虚函数,那一般是表示它将不作为一个基类来使用。当一个类不准备作为基类使用时,使析构函数为虚一般是个坏主意。因为它会为类增加一个虚函数表,使得对象的体积翻倍,还有可能降低其可移植性。 所以基本的一条是:无故的声明虚析构函数和永远不去声明一样是错误的。实际上,很多人这样总结:当且仅当类里包含至少一个虚函数的时候才去声明虚析构函数。 抽象类是准备被用做基类的,基类必须要有一个虚析构函数,纯虚函数会产生抽象类,所以方法很简单:在想要成为抽象类的类里声明一个纯虚析构函数。虚析... 阅读全文
posted @ 2011-12-07 16:03 锦衣夜行 阅读(165) 评论(0) 推荐(0) 编辑
摘要: 虽然很难找到一本不讨论多态性的C++书籍或杂志,但是,大多数这类讨论使多态性和C++虚函数的使用看起来很难。我打算在这篇文章中通过从几个方面和结合一些例子使读者理解在C++中的虚函数实现技术。说明一点,写这篇文章只是想和大家交流学习经验因为本人学识浅薄,难免有一些错误和不足,希望大家批评和指正,在此深表感谢!一、 基本概念 首先,C++通过虚函数实现多态."无论发送消息的对象属于什么类,它们均发送具有同一形式的消息,对消息的处理方式可能随接手消息的对象而变"的处理方式被称为多态性。"在某个基类上建立起来的类的层次构造中,可以对任何一个派生类的对象中的同名过程进行调 阅读全文
posted @ 2011-12-07 15:35 锦衣夜行 阅读(99) 评论(1) 推荐(0) 编辑