有时,一个类想跟踪它有多少个对象存在。一个简单的方法是创建一个静态类成员来统计对象的个数。这个成员被初始化为0,在构造函数里加1,析构函数里减1。(条款m26里说明了如何把这种方法封装起来以便很容易地添加到任何类中,“my
article on counting objects”提供了对这个技术的另...
分类:
编程语言 时间:
2014-05-12 05:33:36
阅读次数:
341
构造方法:用来初始化对象的;首先分解一下创建对象的过程:Person *p = [Person
new]; // new方法是alloc 和 init 这两个方法的组合;完整的创建可用对象的过程: 1:分配存储空间; 就是调用的 +alloc
方法,这个方法是类方法,返回的是一个分配好存储空间的 ....
分类:
其他好文 时间:
2014-05-12 04:47:22
阅读次数:
237
最近实现了一个string类,添加了一些c++11元素。除了基本的构造析构函数,拷贝构造和赋值函数,另外添加移动拷贝和赋值函数。default是一个很方便的特性有木有。
//default constructorKianString()=default;KianString(const char *...
分类:
其他好文 时间:
2014-05-12 01:14:09
阅读次数:
347
stringstream本身的复制构造函数是私有的,无法直接用,于是带来了一些复杂的问题网上,流传着几种办法,如streamA.str(streamB.str()),但这种办法,复制的仅仅是初始化时的string会在以下这种情况下暴露出问题:
stringstream s1("123aaa")...
分类:
其他好文 时间:
2014-05-12 00:53:33
阅读次数:
266
对于普通类型的对象来说,它们之间的复制是很简单的,例如:int a=88;int
b=a;而类对象与普通对象不同,类对象内部结构一般较为复杂,存在各种成员变量。下面看一个类对象拷贝的简单例子。 1 #include 2 using
namespace std; 3 4 class CExampl.....
分类:
编程语言 时间:
2014-05-12 00:03:19
阅读次数:
516
1、成员变量成员变量可以是任何类型,如基本数据类型、引用、另一个类的对象或指针、自身类的引用或指针,但不能是自身类的对象;成员变量不能指定为auto、register、extern
存储类型。1.1、普通成员变量普通成员变量是属于对象的,其生命周期就是对象的生命周期,只能通过构造函数的初始化列表进行...
分类:
编程语言 时间:
2014-05-11 23:34:34
阅读次数:
485
1.原型继承本质
就javascript对象系统的实现来讲,对象并没有原型,而构造器有原型(构造器.prototype指向其原型)。对象只有构造自某个原型的说法,并没有持有某个原型的说法。原型其实也是一个对象实例。原型的含义是指:如果构造器有一个原型对象A,则由该构造器创建的实例都必然复制...
分类:
编程语言 时间:
2014-05-11 23:22:20
阅读次数:
433
在操作Java框架时,通过会用到反射技术,但是反射技术有一个缺点:会导致计算机的性能下降,因为反射占用了计算机的缓存。比如通过反射技术创建某一类的实例时,会先得到该类的构造函数,如果缓存中没有该构造函数,JVM就会创建一个构造函数,并将这个构造函数缓存起来,当下次再创建该构造函数的实例时,就不会.....
分类:
其他好文 时间:
2014-05-11 16:13:12
阅读次数:
235
Insert title here
/*
* 自定义javascript对象一:
定义一个函数的时候,首字母大小,默认为构造函数了
构造函数模式:
格式:function MyObject(){
......js code......
}
如何遍历对象的属性:for in
*/
//定义一个函数的时候,首字母大小,默认为构造函数了
function MyObject(){
...
分类:
Web程序 时间:
2014-05-11 15:12:20
阅读次数:
396
Insert title here
/*
* 原型模式:
prototype 原型属性
对象的原型拥有的属性,该对象的实例对象也会同时拥有
*/
function Test(){
}
Test.age=20;
var tt=new Test();//这种情况age属性不会再new时候被添加哦
alert(tt.age)//undefine
//-----------------...
分类:
Web程序 时间:
2014-05-11 14:31:06
阅读次数:
453