本例只是对含有本类对象指针的类的构造函数、析构函数、拷贝构造函数、复制运算符使用方法的一个简单示例,以加深对构造函数和拷贝控制成员的理解。
读C++ primer 5th 第13章后加上自己的理解,完整的写了下课后习题的代码。
第一版:
#include
#include
using namespace std;
class TreeNode{
private:
stri...
分类:
编程语言 时间:
2014-06-28 07:13:13
阅读次数:
296
以下注释中的说法相对于PHP等语言的类对象的属性及方法,因为Javascript首先没有“类”这一说法,也不存在静态非静态、属性/方法作用域这一说法。function obj(){ var v = '';//私有静态属性 var f = function(){};//私有方法}-----...
分类:
编程语言 时间:
2014-06-27 15:36:02
阅读次数:
196
(一)
public继承意味着“is-a”关系。它的意思是:如果B以public形式继承自A,那么B类型对象肯定是一个A对象,反之不成立。A是B的一种抽象,B是A的特例。任何使用A的地方,都能使用B。
(二)
public继承意味着“is a”(是一种)关系:
(1)任何一个继承类对象也是一个基类对象;
(2)任何可以出现基类对象的地方也可以出现一个继承类对象(例如函数的...
分类:
编程语言 时间:
2014-06-27 10:28:19
阅读次数:
220
对于普通类型的对象来说,它们之间的复制是很简单的,例如:int a=100;int b=a;而类对象与普通对象不同,类对象内部结构一般较为复杂,存在各种成员变量。下面看一个类对象拷贝的简单例子。#include using namespace std;class CExample {private:...
分类:
编程语言 时间:
2014-06-26 22:30:39
阅读次数:
306
定义 function Person(national,age) { this.age = age; //实例对象,每个示例不同 Person.national = national; //类对象,所用实例公用 ...
分类:
编程语言 时间:
2014-06-25 14:32:17
阅读次数:
163
1. 概念 将抽象部分和它的实现分离,使他们都可以独立变化 个人理解:将接口(或者抽象类)对象作为业务对象中的成员变量达到“多维度的变化” ,这里说的多维度变化指的就是一个接口或者抽象类的具体实现是有多个 例如:interface A{ //method}class Business{...
分类:
其他好文 时间:
2014-06-23 00:55:48
阅读次数:
195
C++规定了虚函数的行为,但是将实现交给了编译器的作者.
通常,编译器处理虚函数的方法是给每一个对象添加一个隐藏成员.隐藏成员中保存了一个指向函数地址数组的指针.
这个数组称为虚函数表(virtual function table,vtbl).虚函数表中存储了为类对象进行声明的虚函数的地址.
例如:基类对象包含一个指针,该指针指向基类的虚函数表.
派生类对象包含一个指针,该指针指向一个独立...
分类:
编程语言 时间:
2014-06-22 17:06:32
阅读次数:
239
平时使用过两种版本控制软件 SVN 和 Git,平心而论,如果纯粹自己使用,那么绝对 Git 更加适合,本地库、远程库、离线工作、强大而灵活的分支、大名鼎鼎的Github, 这些都是选择 Git 的原因。Git 本质上是一套内容寻址文件系统。
从内部来看,Git 是简单的 key-value 数据存储。Git主要包含 3 类对象:blog(对应文件)、tree(对应目录)、commit。每次 Git 提交都会产生一个 commit 对象,并更新有改动的文件所关联的所有 tree 对象。多个 tree 对象一...
分类:
其他好文 时间:
2014-06-22 16:53:50
阅读次数:
166
java.lang.Object.equals()函数默认情况下是不能用来比较组合对象的,例如密钥值。很多Key类没有覆写equals()函数,因此,组合对象的比较必须单独比较里面的各个类型以保证正确性。
[不符合安全要求的代码示例]
下面的代码使用equals()函数比较两个key值,key值即使具有相同的取值也可能会返回不相等,导致结果出错。
private static b...
分类:
编程语言 时间:
2014-06-22 08:03:23
阅读次数:
275
1.继承(Inheritance):Java是单继承的,意味着一个类只能从另一个类继承(被继承的类叫做父类[基类],继承的类叫做子类),Java中的继承使用extends关键字。
2.当生成子类对象时,Java默认首先调用父类的不带参数的构造方法,然后执行该构造方法,生成父类的对象。接下来,再去调用子类的构造方法,生成子类的对象。要想生成子类的对象,首先需要生成父类的对象,没有父类的对象...
分类:
编程语言 时间:
2014-06-21 23:39:27
阅读次数:
391