Compentence
文章平均质量分 74
landerluu
swimming
展开
-
虚函数表
C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。比如:模板技术,RTTI技术,虚函数技术,要么是试图做到在编译时决议,要么试图做到运行时决议。关于虚函数的使用方法,我转载 2009-12-30 13:26:00 · 414 阅读 · 0 评论 -
ubuntu 命令大全 (基本和meego是通用的)
ubuntu 命令大全 (基本和meego是通用的)meego, 命令 1. 基本软件安装 2. 3. 安装/卸载软件(假设软件源里已经有此软件) 4. 5. sudo apt-get install/remove xxx(同时只可以进行一个安装或者其他的安装/卸载操作) 6. 7. 查看软件xxx(软件名)安装内容 8. dpkg -L xxx 9. 10. 查找软件 11. apt-cache s转载 2010-11-11 11:04:00 · 580 阅读 · 0 评论 -
内存的堆分配和栈分配 & 字符数组,字符指针,Sizeof总结
内存的堆分配和栈分配 & 字符数组,字符指针,Sizeof总结http://hi.baidu.com/anglecloudy/blog/item/c2b27045c5721020cefca33d.html堆和栈的区别一个由C/C++编译的程序占用的内存分为以下几个部分1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结转载 2010-10-11 13:48:00 · 512 阅读 · 0 评论 -
如何正确编写类String的构造函数、析构函数和赋值函数
这个在面试或笔试的时候常问到或考到。已知类String的原型为:class String{public: String(const char *str = NULL);// 普通构造函数 String(const String &other); // 拷贝构造函数 ~ String(void); // 析构函数 String & operate =(const String &other);// 赋值函数private:原创 2010-06-30 09:16:00 · 826 阅读 · 0 评论 -
C++拷贝构造函数(深拷贝,浅拷贝)
C++拷贝构造函数(深拷贝,浅拷贝)对于普通类型的对象来说,它们之间的复制是很简单的,例如:int a=88;int b=a;而类对象与普通对象不同,类对象内部结构一般较为复杂,存在各种成员变量。下面看一个类对象拷贝的简单例子。#include using namespace std;class CExample {private: int a;public: CExample(int b) { a=b;} void转载 2010-06-30 09:48:00 · 414 阅读 · 0 评论 -
C语言中如何编写strcmp(),stract()和strcpy()
C语言中编写strcmp(),stract()和strcpy()2008年04月03日 星期四 14:47 char * strcpy(char * dest,const char *src){ char *tmp = dest; while ((*dest++ = *src++)!= '/0') ; return tmp;}char *strcat(char *dest,const char *src){ char *tmp=dest;原创 2010-06-30 09:17:00 · 2787 阅读 · 0 评论 -
static 声明的静态成员变量和静态成员函数
数据成员可以分静态变量、非静态变量两种. 静态成员:静态类中的成员加入static修饰符,即是静态成员.可以直接使用类名+静态成员名访问此静态成员,因为静态成员存在于内存,非静态成员需要实例化才会分配内存,所以静态成员不能访问非静态的成员..因为静态成员存在于内存,所以非静态成员可以直接访问类中静态的成员.非成静态员:所有没有加Static的成员都是非静态成员,当类被实例化之后,可以通过实例化的类名进行访问..非静态成员的生存期决定于该类的生存期..而静态成员则不存在生存期的概念,因为静转载 2010-06-30 13:33:00 · 1739 阅读 · 0 评论 -
40道C++面试题
40道易错C++面试题 1.是不是一个父类写了一个virtual 函数,如果子类覆盖它的函数不加virtual ,也能实现多态?virtual修饰符会被隐形继承的。private 也被集成,只事派生类没有访问权限而已。virtual可加可不加。子类的空间里有父类的所有变量(static除外)。同一个函数只存在一个实体(inline除外)。子类覆盖它的函数不加virtual ,也能实现多态。在子类的空间里,有父类的私有变量。私有变量不能直接访问。---转载 2010-06-30 09:42:00 · 647 阅读 · 0 评论 -
try catch throw用法
try catch throw用法try,catch,throw: try包含你要防护的代码,称为防护块. 防护块如果出现异常,会自动生成异常对象并抛出. catch捕捉特定的异常,并在其中进行适当处理. throw可以直接抛出/产生异常,导致控制流程转到catch块. 重要观点: C++中异常是用对象来表示的,称为异常对象. 基本格式: try {转载 2010-03-26 10:39:00 · 678 阅读 · 0 评论 -
深拷贝与浅拷贝
深拷贝是指源对象与拷贝对象互相独立,其中任何一个对象的改动都不会对另外一个对象造成影响。举个例子,一个人名叫张三,后来用他克隆(假设法律允许)了另外一个人,叫李四,不管是张三缺胳膊少腿还是李四缺胳膊少腿都不会影响另外一个人。比较典型的就是Value(值)对象,如预定义类型Int32,Double,以及结构(struct),枚举(Enum)等。考虑以下写法 int source = int.MaxValue;//(1)初始化源对象为整数的最大值2,147,483,647原创 2010-11-21 22:53:00 · 582 阅读 · 0 评论