摘要: 一、选择题1、 以下函数调用语句中的实参个数为( D )。 excc((vl,v2),(v3,v4,v5),v6); (A)3 (B)4 (C)5 (D)62、 在C/C++程序中,( A )。 (A)函数的定义可以嵌套,但函数的调用不可以嵌套(B)函数的定义不可以嵌套,但函数的调用可以嵌套(C)函数的定义和函数的调用均不可以嵌套(D)函数的定义和函数的调用均可以嵌套3、 若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是( D )。(A)函数调用可以作为独立的语句存在(B)函数调用可以作为一个函数的实参(C)函数调用可以出现在表达式中 (D)函数调用可以作为一个函数的形参4、 若有 阅读全文
posted @ 2012-04-02 21:15 carbs 阅读(1482) 评论(0) 推荐(0) 编辑
摘要: 分类:C++学习笔记2010-04-0314:11283人阅读评论(0)收藏举报回调函数和函数指针最近在看代码,写代码的人很喜欢用回调函数和函数指针。一直觉得回调函数和函数指针挺神秘的,所以查了一些资料,来与大家一起来分享。什么是回调函数简而言之,回调函数就是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用为调用它所指向的函数时,我们就说这是回调函数。为什么要使用回调函数因为使用回调函数可以把调用者和被调用者分开,调用者不关心谁是被调用者,所有它需知道的,只是存在一个具有某种特定原型、某些限制条件(如返回值为int)的被调用函数。回调函数就好像是一 阅读全文
posted @ 2012-04-02 20:50 carbs 阅读(159) 评论(0) 推荐(0) 编辑
摘要: 分类:C++学习笔记2010-04-0123:41511人阅读评论(0)收藏举报前言C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。比如:模板技术,RTTI技术,虚函数技术,要么是试图做到在编译时决议,要么试图做到运行时决议。关于虚函数的使用方法,我在这里不做过多的阐述。大家可以看看相关的C++的书籍。在这篇文章中,我只想从虚函数的实现机制上面为大家一个清晰的剖析。当然,相同的文章在 阅读全文
posted @ 2012-04-02 19:00 carbs 阅读(158) 评论(0) 推荐(0) 编辑
摘要: 分析:这是Adobe 公司2007 年校园招聘的最新笔试题。这道题除了考察应聘者的C++ 基本功底外,还能考察反应能力,是一道很好的题目。在Java 中定义了关键字final ,被final 修饰的类不能被继承。但在C++ 中没有final 这个关键字,要实现这个要求还是需要花费一些精力。首先想到的是在C++ 中,子类的构造函数会自动调用父类的构造函数。同样,子类的析构函数也会自动调用父类的析构函数。要想一个类不能被继承,我们只要把它的构造函数和析构函 数都定义为私有函数。那么当一个类试图从它那继承的时候,必然会由于试图调用构造函数、析构函数而导致编译错误。可是这个类的构造函数和析构函数都是私 阅读全文
posted @ 2012-04-02 16:50 carbs 阅读(302) 评论(0) 推荐(0) 编辑
摘要: 如何使类不能被继承 如果大家熟悉java的话应该知道java中有一种类不能被继承,那就是final类.这种类有很多用处,尤其是在大 的项目中控制类的继承层次. 使子类数量不至于爆炸.在使用了多继承的类层次中这也是防止出现菱形继承层次结构的一个好办法. 要实现一个不能被继承的类有很多方法. 主要的思路就是使子类不能构造父类的部分,这样子类就没有办法实例化整个子类.这样就限制了子类的 继承. 所以我们可以将父类的构造函数声明成为私有的,但是这样父类不就不能实例化.我想可以添加一个静态帮助函数来进行构造. 虽然这样很简陋.但是这的确是一种解决方法. 可是如果只有这个方法能够解决,那么C++... 阅读全文
posted @ 2012-04-02 11:46 carbs 阅读(3372) 评论(0) 推荐(2) 编辑
摘要: 对于普通类型的对象来说,它们之间的复制是很简单的,例如:int a=88;int b=a; 而类对象与普通对象不同,类对象内部结构一般较为复杂,存在各种成员变量。下面看一个类对象拷贝的简单例子。 #include<iostream>usingnamespacestd;classCExample{private: inta;public: CExample(intb) {a=b;} voidShow() {cout<<a<<endl;}};intmain(){ CExampleA(100); CExampleB=A; B.Show(); return0;}运行 阅读全文
posted @ 2012-04-02 11:43 carbs 阅读(287) 评论(0) 推荐(0) 编辑