经验:private 继承意味 is-implemented-in-terms of。它通常比 composition 的级别低。
但是当 derived class 需要访问 protected base class 的成员,或需要重新定义继承而来的 virtual 函数时,这么设计是合理的
经验:和 composition 不同, private 继承可以造成 empty base 最优化。这对致力于“对象尺寸最小化”的程序库开发者而言,可能很重要
示例1:虽是 Empty class,但却不仅要花...
分类:
编程语言 时间:
2014-07-15 22:41:05
阅读次数:
284
TObject消息分派 procedure Dispatch(var Message); virtual; #负责分派消息到特定VCL组件的事件处理函数 procedure DefaultHandler(var Message); virtual; #消息分类:通过子类覆盖此方法,处理窗...
分类:
其他好文 时间:
2014-07-15 09:40:31
阅读次数:
444
1. 说说简单的函数回调首先说说一种简单的函数回调机制(一种通过获取对象的指针来进行函数的调用方法)以下是代码演示---这是观察者(被回调)部分:class Observer{public: // 抽象观察者的纯虚函数 virtual void UpdateMessage() = 0;};class...
分类:
编程语言 时间:
2014-07-15 08:07:58
阅读次数:
324
这次我们来说下列排序:通过使用 .col-md-push-* 和 .col-md-pull-* 类就可以很容易的改变列(column)的顺序。 Bootstrap-Template-07 ...
分类:
其他好文 时间:
2014-07-14 22:44:53
阅读次数:
269
今天我来测试连接的安全,数据是否可嗅探。android模拟器提供了内置的tcpdump,我们使用这个来抓包。1. 启动带tcpdump的模拟器santoku@santoku-virtual-machine:~/Desktop$ emulator -avd avd1 -tcpdump 7-14.cap...
分类:
移动开发 时间:
2014-07-14 22:18:19
阅读次数:
433
在虚函数的声明的参数列表后加上“=0”就将函数变成了纯虚函数class Base{ virtual void function()=0;}我们不需要为纯虚函数Base::function()提供任何定义,那些声明了纯虚函数的类就是抽象类。任何试图创建一个抽象类对象的操作都会导致编译器错误。如果一个....
分类:
其他好文 时间:
2014-07-14 20:06:09
阅读次数:
258
连接的是mysql数据库,插入数据时,控制台报:com.mysql.jdbc.MysqlDataTruncation: Data truncation: Data too long for column 'user_name' at row 1错误,具体信息如下:严重: Servlet.servic...
分类:
数据库 时间:
2014-07-14 15:41:18
阅读次数:
249
Python
Python是一种面向对象语言。能够把用其他语言(尤其是c/c++)制作的各种模块联结在一起。Python在执行时,首先会将 .py文件中的源代码编译成Python的 byte code(字节码),然后在由Python virtual machine来执行这些编译好的字节码文件按。基于c的Python编译出的字节码文件,通常是.pyc格式。
MFC Microsoft Fou...
分类:
编程语言 时间:
2014-07-14 13:57:08
阅读次数:
285
经验:多重继承比单一继承复杂。它可能导致新的歧义性,以及对 virtual 继承的需要
示例:
class BorrowableItem{
public:
void checkOut();
};
class ElectronicGadget{
private:
bool checkOut() const;
};
class MP3Player:
public BorrowableItem
public ElectronicGadget
{...};
MP3Player mp;
mp.checkOut...
分类:
编程语言 时间:
2014-07-14 13:38:11
阅读次数:
240
经验:class 和 templates 都支持接口和多态。
对 classes 而言接口是显式的,以函数签名为中心。多态则是通过 virtual 函数发生于运行期
对 templates 参数而言,接口是隐式的,奠基于有效表达式。多态则是通过 templates 具体化和函数重载解析(function overloading resolution)发生于编译期。
示例1:显式接口和运行期多态
class Widget{
public:
Widget();
virtual ~Widget();
vir...
分类:
编程语言 时间:
2014-07-14 12:54:57
阅读次数:
195