会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
合唱团abc
博客园
首页
新随笔
联系
管理
订阅
上一页
1
···
21
22
23
24
25
26
27
28
29
···
38
下一页
2014年8月24日
条款41: 区分继承和模板
摘要: · 当对象的类型不影响类中函数的行为时,就要使用模板来生成这样一组类。· 当对象的类型影响类中函数的行为时,就要使用继承来得到这样一组类。下面的代码通过定义一个链表来实现Stack类,假设堆栈的对象类型为T:templateclass stack{public: stack(); ~st...
阅读全文
posted @ 2014-08-24 13:12 合唱团abc
阅读(232)
评论(0)
推荐(0)
2014年8月21日
【python】字符遍历
摘要: Python为我们提供了很多便捷的方式去遍历一个字符串中的字符。比如,将一个字符串转换为一个字符数组(列表):theList=list(theString)同时,我们可以方便的通过for语句进行遍历:for c in theString: do_something_with(c)map函数用法:第一...
阅读全文
posted @ 2014-08-21 20:49 合唱团abc
阅读(490)
评论(0)
推荐(0)
【python】range的用法
摘要: range的用法:>>> range(1,5) #代表从1到5(不包含5)[1, 2, 3, 4]>>> range(1,5,2) #代表从1到5,间隔2(不包含5)[1, 3]>>> range(5) #代表从0到5(不包含5)[0, 1, 2, 3, 4]列表操作:array = [1, 2, ...
阅读全文
posted @ 2014-08-21 20:36 合唱团abc
阅读(980)
评论(0)
推荐(0)
条款39: 避免 "向下转换" 继承层次
摘要: 基类指针不能调用派生类的独有的成员,即使基类指针指向派生类对象,因为编译器是根据指针的静态类型来确定调用对象在内存中占据的空间的。此时可以使用static_cast来转换,但不要这么做,因为向下转换难看、容易导致错误,而且使得代码难于理解、升级和维护,static_cast不会进行类型检查,即使指针...
阅读全文
posted @ 2014-08-21 13:29 合唱团abc
阅读(378)
评论(0)
推荐(0)
2014年8月20日
条款38: 决不要重新定义继承而来的缺省参数值
摘要: 虚函数是动态绑定而缺省参数值是静态绑定的,当基类和派生类对同一个虚函数设置缺省参数值时,只有基类的缺省参数值起作用。对象的静态类型是指你声明的存在于程序代码文本中的类型,对象的动态类型是由它当前所指的对象的类型决定的。即,对象的动态类型表示它将执行何种行为。虚函数是动态绑定的,意思是说,虚函数通过哪...
阅读全文
posted @ 2014-08-20 14:11 合唱团abc
阅读(211)
评论(0)
推荐(0)
条款37: 决不要重新定义继承而来的非虚函数
摘要: class B {public: void mf(); ...};class D: public B { ... };甚至对B,D或mf一无所知,也可以定义一个类型D的对象x,D x; // x是类型D的一个对象那么,如果发现这么做:B *pB = &x; // 得到x的指针pB->mf(); ...
阅读全文
posted @ 2014-08-20 14:04 合唱团abc
阅读(213)
评论(0)
推荐(0)
条款36: 区分接口继承和实现继承
摘要: 作为类的设计者,有时希望派生类只继承成员函数的接口(声明);有时希望派生类同时继承函数的接口和实现,但允许派生类改写实现;有时则希望同时继承接口和实现,并且不允许派生类改写任何东西。class Shape {public: virtual void draw() const = 0; virtu...
阅读全文
posted @ 2014-08-20 13:57 合唱团abc
阅读(366)
评论(0)
推荐(0)
2014年8月18日
条款34: 将文件间的编译依赖性降至最低
摘要: class Person {public: Person(const string& name, const Date& birthday, const Address& addr, const Country& country); virtual ~Person(); ......
阅读全文
posted @ 2014-08-18 14:37 合唱团abc
阅读(289)
评论(0)
推荐(0)
条款33: 明智地使用内联
摘要: 调用函数实际上将程序执行顺序转移到函数所存放在内存中某个地址,将函数的程序内容执行完后,再返回到转去执行该函数前的地方。这种转移操作要求在转去前要保护现场并记忆执行的地址,转回后先要恢复现场,并按原来保存地址继续执行。当程序运行到某个节点时,如果发现有函数调用语句(函数要事先声明或者事先定义),程序...
阅读全文
posted @ 2014-08-18 14:09 合唱团abc
阅读(206)
评论(0)
推荐(0)
条款32: 尽可能地推迟变量的定义
摘要: // 此函数太早定义了变量"encrypted"string encryptPassword(const string& password){ string encrypted;//默认构造函数初始化 if (password.length() < MINIMUM_PASSWORD_LENGTH...
阅读全文
posted @ 2014-08-18 13:38 合唱团abc
阅读(226)
评论(0)
推荐(0)
上一页
1
···
21
22
23
24
25
26
27
28
29
···
38
下一页
公告