C++中对象间的相互操作例子(2005-6-1)

原创 2005年06月01日 21:07:00
#include using namespace std; class A{ private: int real; int imag; public: char *string; A(){ this->real = 10, this->imag = 20; string = "from A()"; } A(int a, int b){ this->real = a; this->imag = b; string = "from A(), init a, b"; } ~A(){ cout << "Deleting class A" << endl; } int calcu(void){ return (real+imag)*2+4; } int chang(int a, int b){ real = a; imag = b; } }; class B{ private: A *ap; public: B(A *p){ ap = p; } ~B(){ cout << "Deleting class B" << endl; } int ControlA(){ cout << "Control A in B" << endl; return ap->calcu(); } int ChangA(int a, int b){ ap->chang(a,b); } }; class C : public B{ private: A *pA; public: C(A *p) : B(p){ pA = p; } ~C(){ cout << "Deleting class C" << endl; } void SetStr(){ pA->string = "Hi , I have been set!"; } int ControlA(int a){ cout << "Control in A" << a << endl; return pA->calcu(); } }; void main() { A *pA = new A(14,2); cout << "From Class A : "<< pA->calcu() << endl; B *pB = new B(pA); cout << "From Class B : "<< pB->ControlA()<< endl; pB->ChangA(13,2); cout << "From Class A : "<< pA->calcu() << endl; cout << "String = " << pA->string << endl; C *pC = new C(pA); pC->SetStr(); cout << "String = " << pA->string << endl; pC->ControlA(100); pC->B::ControlA(); delete pC; delete pA; }

以C++为例子,通过操作内存模拟实现对象的持久化存储(一)

原创作者:岳东卫转载请写明 半夜突然兴起,于是乎有敲起了代码(哎!明早上又要旷课了 。。。): 我们用到过很多的对象序列化的,我在保存数据 传输数据的时候经常用到..用的多了 就想考虑下 像MF...

VS.NET2005操作SqlCE3.0数据库的例子

最近在做Pocket PC的程序,用到了Sql CE数据库,下面我把我的代码贴下来,供初学者使用:界面如下:代码如下:using System;using System.Collections.Gen...

sql server2005学习脚本1-操作数据库

一、数据库 1、创建数据库 IF db_id(N'xsgl') IS NOT NULL  --判断数据库xsgl是否已经存在,如果已经存在则执行下一行,删除数据库xsgl DROP DATABA...

使用纯C++实现SQL Server2005 数据库读写操作详细步骤

环境:windows 10,vs2013 + SQLServer 2008R2  数据库访问技术采用ADO。 需要安装的软件包括:microsoft_dotnetfxchs2.0.exe、Wind...

使用纯C++实现SQL Server2005 数据库读写操作详细步骤

环境:虚拟机windows xp,vs2008 + SQLServer 2005 Express 数据库访问技术采用ADO。 需要安装的软件包括:microsoft_dotnetfxchs...
  • SYP35
  • SYP35
  • 2016年02月10日 22:57
  • 208
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:C++中对象间的相互操作例子(2005-6-1)
举报原因:
原因补充:

(最多只允许输入30个字)