随笔分类 -  C++ Specification

C subset, OBP, OOP, Exception, Advance feature... 关注C++语法、标准规范层面
摘要:/* * main.cc * * Created on: 2008-8-5 * Author: Administrator */#include class Base{public: virtual Base *clone(){ std::cout clone(); Base *pb = pd; pb->clone(); return 0;} 结果: D... 阅读全文
posted @ 2008-08-05 18:01 中土 阅读(8611) 评论(2) 推荐(0) 编辑
摘要:一.多重继承 #include using namespace std; class Base1{public: Base1(){ cout clone(); pBase1->speakClearly(); //pBase1->mumble();//complie-time error delete pBase1; cout clone(); pBase... 阅读全文
posted @ 2007-11-24 13:21 中土 阅读(3199) 评论(0) 推荐(2) 编辑
摘要:《Pointers On C》 《A Tutorial On Pointers And Arrays In C》 http://pweb.netcom.com/~tjensen/ptr/cpoint.htm 阅读全文
posted @ 2007-10-27 17:56 中土 阅读(527) 评论(0) 推荐(0) 编辑
摘要:这本书短短的100多页,很象是一篇文章。但是指出的很多问题的确容易出现在笔试的改错题中 -------------------------------------------------------------------- 第1章 词法陷阱 1.1 = 和 == 1.3 词法分析的"贪心法则" 编译器从左到右读入字符,每个符号包含尽可能多的字符,直到不是字符为止 如: a---b 等价... 阅读全文
posted @ 2007-10-26 03:08 中土 阅读(961) 评论(2) 推荐(0) 编辑
摘要:呵呵 阅读全文
posted @ 2007-10-25 17:09 中土 阅读(456) 评论(0) 推荐(0) 编辑
摘要:google面试题: 只能在堆上创建的对象,代码如下 class HeapOnly { public: void destroy() const { delete this; } private: ~HeapOnly(){}; }; int main() { //HeapOnly obj; HeapOnly *pobj =... 阅读全文
posted @ 2007-10-23 12:46 中土 阅读(1072) 评论(1) 推荐(0) 编辑
摘要:题目如下:问下列代码的打印结果为0吗? #include #include using namespace std; struct CLS { int m_i; CLS( int i ) : m_i(i){} CLS() { CLS(0); } }; int main() { CLS obj; cout << obj.... 阅读全文
posted @ 2007-10-20 00:17 中土 阅读(25370) 评论(12) 推荐(8) 编辑
摘要:当高级语言函数被编译成机器码时,有一个问题就必须解决:因为CPU没有办法知道一个函数调用需要多少个、什么样的参数。即计算机不知道怎么给这个函数传递参数,传递参数的工作必须由函数调用者和函数本身来协调。为此,计算机提供了一种被称为栈的数据结构来支持参数传递。 ... 阅读全文
posted @ 2007-09-22 12:39 中土 阅读(1988) 评论(0) 推荐(3) 编辑
摘要:c++中的explicit关键字用来修饰类的构造函数,表明该构造函数是显式的,既然有"显式"那么必然就有"隐式",那么什么是显示而什么又是隐式的呢? 如果c++类的构造函数有一个参数,那么在编译的时候就会有一个缺省的转换操作:将该构造函数对应数据类型的数据转换为该类对象,如下面所示: class MyClass { public: MyClass( int num ); } //. MyCl... 阅读全文
posted @ 2007-09-17 02:10 中土 阅读(715) 评论(0) 推荐(0) 编辑
摘要:TEST1: #include using namespace std; class Base { public: virtual ~Base() { cout ~Derived() Base* pb=new Derived; delete pb; return 0; } /* * Base的dtor可见,虽然会被virtua... 阅读全文
posted @ 2007-09-10 12:04 中土 阅读(1578) 评论(0) 推荐(0) 编辑
摘要:一. 虚析构函数我们知道,为了能够正确的调用对象的析构函数,一般要求具有层次结构的顶级类定义其析构函数为虚函数。因为在delete一个抽象类指针时候,必须要通过虚函数找到真正的析构函数。如: class Base{public: Base(){} virtual ~Base(){}};class Derived: public Base{public: Derived(){}; ... 阅读全文
posted @ 2007-09-10 11:27 中土 阅读(24004) 评论(8) 推荐(14) 编辑
摘要:如下例: class Base { public: virtual foo() = 0; protected: virtual ~Base(){}; }; class Derived { public: Derived(string str) : _str(str){} virtual foo(){ //.. } protected: string _s... 阅读全文
posted @ 2007-09-09 19:33 中土 阅读(1099) 评论(1) 推荐(0) 编辑
摘要:http://blog.163.com/localvar@126/blog/static/1053355200691974613755/ #include class fairyTale { public: virtual void act1(){cout>c; if (c == 'f') { tale = new fairyTale;//动态分配,将... 阅读全文
posted @ 2007-09-09 18:43 中土 阅读(2883) 评论(1) 推荐(0) 编辑
摘要:参考stroustrup的回答吧(http://www.research.att.com/~bs/bs_faq2.html#vcall) 在构造函数中调用虚成员函数,虽然这是个不很常用的技术,但研究一下可以加深对虚函数机制及对象构造过程的理解。这个问题也和一般直观上的认识有所差异。先看看下面的两个类定义。 struct C180 { C180() { foo(); this->foo... 阅读全文
posted @ 2007-09-09 18:38 中土 阅读(8728) 评论(1) 推荐(1) 编辑
摘要:转载::谈C++继承中的重载、覆盖和隐藏 2007-08-29 18:30 写正题之前,先给出几个关键字的中英文对照,重载(overload),覆盖(override),隐藏(hide)。在早期的C++书籍中,可能翻译的人不熟悉专业用语(也不能怪他们,他们不是搞计算机编程的,他们是英语专业的)... 阅读全文
posted @ 2007-09-09 18:33 中土 阅读(727) 评论(0) 推荐(0) 编辑
摘要:如何在运行时确定对象类型(RTTI) 作者:NorthTibet RTTI 是“Runtime Type Information”的缩写,意思是:运行时类型信息。它提供了运行时确定对象类... 阅读全文
posted @ 2007-09-09 15:09 中土 阅读(727) 评论(0) 推荐(0) 编辑
摘要:伟大的Bill Gates 曾经失言: 640K ought to be enough for everybody — Bill Gates 1981 程序员们经常编写内存管理程序,往往提心吊胆。如果不想触雷,唯一的解决办法就是发现所有潜伏的地雷并且排除它们,躲是躲不了的。本文的内容比一般教科书的要深入得多,读者需细心阅读,做到真正地通晓内存管理。 1、内存分配方式 内存分配方... 阅读全文
posted @ 2007-09-08 00:07 中土 阅读(917) 评论(0) 推荐(0) 编辑
摘要:C++虚函数调用的反汇编解析 作者:阮建辉 虚函数的调用如何能实现其“虚”?作为C++多态的表现手段,估计很多人对其实现机制感兴趣。大约一般的教科书就说到这个C++强大机制的时候,就是教大家怎么用,何时用,而不会去探究一下这个虚函数的真正实现细节。(当然,因为不同的编译器厂家,可能对虚函数有自己的实现,呵呵,这就算是虚函数对于编译器的“多态”了:)。作为编译型语言,C++编译的最后结果就... 阅读全文
posted @ 2007-09-07 23:25 中土 阅读(1345) 评论(0) 推荐(1) 编辑
摘要:数据表示是任何一种语言所要面临的第一件事,可以说这是关乎系统底层的东西,但是当你在coding的时候,却遇到某些错误莫名其妙的错误,这时,也许就是这些看似简单的数据表示出错了... 阅读全文
posted @ 2007-07-21 22:30 中土 阅读(1938) 评论(0) 推荐(0) 编辑
摘要:《C++ Primer》第7章笔记,主要是函数的一些用法。注意摘其中容易让人忽略的要点 阅读全文
posted @ 2007-07-21 22:20 中土 阅读(457) 评论(0) 推荐(0) 编辑

©2005-2008 Suprasoft Inc., All right reserved.