对象浅层复制的三个粗糙的实例
2012-05-25 21:13
225 查看
class A { private: int a; int b; int* c; public: A() :a( 0 ) { b=2; c=&b; } A(int n) :a( n ) { b=2; c=&b; } void print() { cout<<"a="<<a<<endl<<"b="<<b<<endl; } void add() { a++; (*c)++; } }; int _tmain(int argc, _TCHAR* argv[]) { //注意,以下浅层复制中的指针都将共用aa对象的指针资源。 A aa(1); //显式构造aa A bb(2); //(1)显式构造bb bb= aa; //注意,类对象可以直接用=复制,浅层复制 aa.print(); bb.add(); aa.print (); A cc; //(2)默认构造cc cc=aa; //浅层复制 cc.print(); A dd=aa; //(3)注意,浅层复制,这里dd将不会调用构造函数 dd.print(); dd.add(); dd.print(); aa.print(); getchar(); return 0; }
相关文章推荐
- PHP对象的浅复制与深复制的实例详解
- jquery使用jquery.zclip插件复制对象的实例教程
- Prototype(原型)------复制建立对象实例
- js对象的复制继承实例
- js对象的复制继承实例
- 屏幕蒙层效果、图层对象绝对居中、拖拽图层对象三个功能实例演示剖析
- 对象序列化(五):应用实例->大批量复制对象
- Python浅复制中对象生存周期实例分析
- Java对象深复制与浅复制实例详解
- jquery使用jquery.zclip插件复制对象的实例教程
- SignalR代理对象异常:Uncaught TypeError: Cannot read property 'client' of undefined 推出的结论 SignalR 简单示例 通过三个DEMO学会SignalR的三种实现方式 SignalR推送框架两个项目永久连接通讯使用 SignalR 集线器简单实例2 用SignalR创建实时永久长连接异步网络应用程序
- 关于PHP中的对象(类的实例)的复制、clone(克隆)
- Java的反射 基础+简单复制对象实例
- 设计模式之原型模式——复制建立对象实例
- java修改文件名-renameTo()方法的使用实例,复制一个文件或者叫转存一个文件
- 多线程编程实例:不带缓冲的多线程文件复制 (使用pread pwrite版本)
- 域FRS复制策略失败后用ansiedit.msc用的着的几个值.恢复FRS对象或属性缺少
- Struts2中:值栈(ValueStack)、值栈中的Action实例、Struts2中的其他命名对象 小结
- 非静态方法的锁是实例对象本身(this),静态方法的锁是类对象本身(.class)
- 把vector对象所有元素复制给动态建立的与之大小相同的数组