摘要: 出自:http://blog.163.com/clevertanglei900@126/blog/1 成员函数重载特征: a 相同的范围(在同一个类中) b 函数名字相同 c参数不同 d virtual关键字可有可无2 重写(覆盖)是指派生类函数覆盖基类函数,特征是: a 不同的范围,分别位于基类和派生类中 b 函数的名字相同 c参数相同 d 基类函数必须有virtual关键字3 重定义(隐藏)是指派生类的函数屏蔽了与其同名的基类函数,规则如下: a 如果派生类的函数和基类的函数同名,但是参数不同,此时,不管有无virtual,基类的函数被隐藏。 b 如果派生类的函数与基类的函... 阅读全文
posted @ 2014-02-23 20:38 RunningPower 阅读(224) 评论(0) 推荐(0) 编辑
摘要: C++中的存储区分为全局数据区、代码区、堆、栈。 全局数据区存放静态数据、全局变量、常量。 代码区存放所有类成员函数和非成员函数的代码。 栈区存放用于函数的返回地址、形参、局部变量、返回类型。 堆区存放余下的内存(new和delete)。 堆和栈的区别:1、申请方式不同:栈是系统自动分配,堆是程序员申请。2、系统响应不同: 栈:只要栈的剩余空间大于所申请的空间,系统就会为程序提供内存,否则栈溢出。 堆:系统收到申请空间的请求后,会遍历一个操作系统用于记录内存空闲地址的链表,当找到一个空间大于所申请空间的堆结点后,就会为该结点从记录内存空闲地址的链表中删除,并将该结点的内存... 阅读全文
posted @ 2014-02-21 12:41 RunningPower 阅读(2621) 评论(0) 推荐(2) 编辑
摘要: 本文出自:http://www.cnblogs.com/xmphoenix/华为笔试题:写一个程序, 要求功能:求出用1,2,5这三个数不同个数组合的和为100的组合个数。如:100个1是一个组合,5个1加19个5是一个组合。。。。答案:最容易想到的算法是:设x是1的个数,y是2的个数,z是5的个数,number是组合数x+2*y+5*z = 100 求这个方程解的个数number注意到0<=x<=100,0<=y<=50,0<=z=20,所以可以编程为:number=0;for (x=0; x<=100; x++)for (y=0; y<=50; y 阅读全文
posted @ 2014-02-18 16:04 RunningPower 阅读(325) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2014-02-17 11:06 RunningPower 阅读(13) 评论(0) 推荐(0) 编辑
摘要: 本文出自http://mxdxm.iteye.com/一、简介由于 C++ 语言没有自动内存回收机制,程序员每次 new 出来的内存都要手动 delete。程序员忘记 delete,流程太复杂,最终导致没有 delete,异常导致程序过早退出,没有执行 delete 的情况并不罕见。用智能指针便可以有效缓解这类问题,本文主要讲解参见的智能指针的用法。包括:std::auto_ptr、boost::scoped_ptr、boost::shared_ptr、boost::scoped_array、boost::shared_array、boost::weak_ptr、boost:: intrusi 阅读全文
posted @ 2014-02-17 10:28 RunningPower 阅读(318) 评论(0) 推荐(0) 编辑
摘要: 本文出自 http://www.cnblogs.com/cutepig/按照默认规定,只有一个参数的构造函数也定义了一个隐式转换,将该构造函数对应数据类型的数据转换为该类对象,如下面所示:class String { String ( const char* p );//用C风格的字符串p作为初始化值 //…}String s1 = “hello”;//OK 隐式转换,等价于String s1 = String(“hello”);但是有的时候可能会不需要这种隐式转换,如下:class String { String ( int n );//本意是预先分配n个字节给字符串 String (... 阅读全文
posted @ 2014-02-17 10:08 RunningPower 阅读(149) 评论(0) 推荐(0) 编辑
摘要: 首先,拷贝构造函数不能由成员函数模版生成1. 拷贝构造函数一般用在以下三种场合:①.函数的参数是一个对象,并且是值传递方式②. 函数的返回值是一个对象,并且是值传递方式③. 用一个对象初始化另外一个对象。(如果有定义调用了构造函数就会调用拷贝,否则调用赋值运算符)当函数的参数或者返回值为一个对象时,使用的时候要小心,因为值传递的时候执行的是位拷贝,并不会调用对象的构造函数,也就是说生成的临时对象可能不是正确初始化的,这样就可能会出现一些意向不到的问题。当返回值是个对象和用一个对象初始化另外一个对象时的情况是相同的。2. 什么时候需要编写拷贝构造函数?当一个类的对象通过delete来释放,也即其 阅读全文
posted @ 2014-02-17 09:59 RunningPower 阅读(247) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2013-12-09 21:22 RunningPower 阅读(21) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2013-12-06 20:59 RunningPower 阅读(20) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2013-12-05 21:00 RunningPower 阅读(18) 评论(0) 推荐(0) 编辑