基于面向对象思想的ATM系统设计与实现第一次讨论课_第1页
基于面向对象思想的ATM系统设计与实现第一次讨论课_第2页
基于面向对象思想的ATM系统设计与实现第一次讨论课_第3页
基于面向对象思想的ATM系统设计与实现第一次讨论课_第4页
基于面向对象思想的ATM系统设计与实现第一次讨论课_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 VC+第二次讨论课从卡类到银行卡的继承小组成员:电子二班第一组1.现实世界中卡和银行卡的继承关系2.用面向对象编程思想中的派生类来 模拟卡和银行卡的继承关系3.银行卡派生类的构造函数和析构函数的定义4.银行卡派生类的构造函数和析构函数的执行顺序1.现实世界中卡和银行卡的继承关系现实世界中,银行卡,会员卡等卡类,他们的共同特点是具有开户人,账号以及密码的属性,而银行卡除了向卡类继承了这些之外,还具有金额的属性。姓名账号密码卡银行卡姓名账号密码金钱class bankcard:public cardint money;/定义金钱public:bankcard(string n, string a

2、, string p, int m);2.用面向对象编程思想中的派生类来模拟卡和银行卡的继承关系class cardprotected:string name;/定义姓名string account;/定义账号string password;/定义密码public:card(string n, string a, string p);void modifypsw();/用于修改密码;Bankcard类即银行卡类,公有继承了卡类的数据成员和成员函数,由于私有成员是不允许继承的,而公有成员无法实现类中数据的封装,因此将卡类中的三个数据成员都定义为保护属性。3.银行卡派生类的构造函数和析构函数的定义

3、class cardprotected:string name;string account;string password;public:card(string n, string a, string p);void modifypsw();card:card(string n, string a, string p)name = n;/将n赋值给姓名account = a;/将a赋值给账号password = p;/将p赋值给密码class bankcard:public cardint money;public:bankcard(string n, string a, string p,

4、 int m);bankcard:bankcard(string n, string a, string p, int m) :card(n, a, p) money = m;/将m赋值给金钱在bankcard的构造函数中利用初始化列表调用card类的构造函数,完成了传递参数的工作。析构函数没有参数,因此可以选择使用系统默认的析构函数。在执行派生类bankcard的析构函数时,系统会自动调用基类card的析构函数,对基类card的对象进行清理。由于在与ATM的交互中需要不断调用带有bankcard对象类型的函数,因此总有形参在不断消亡,因此也就不断调用析构函数int main( )bankca

5、rd b(张三, 001, 123456, 10000);.return 0;在执行该语句后,bankcard类中的b对象被初始化,调用了构造函数,即其name为张三,account为001,password为123456,金钱为10000。在主函数返回0时,系统就会自动调用bankcard与card中的析构函数将对象进行清理,b也就不复存在了4.银行卡派生类的构造函数和析构函数的执行顺序先执行基类card的构造函数,再执行派生类bankcard的构造函数析构函数执行顺序与其相反,先执行bankcard的析构函数,再执行card的析构函数。class cardprotected:string

6、name;string account;string password;public:card(string n, string a, string p);void modifypsw();card:card(string n, string a, string p)name = n;/将n赋值给姓名account = a;/将a赋值给账号password = p;/将p赋值给密码cout“card构造函数被调用”endl;card()cout“card析构函数被调用”endl;class bankcard:public cardint money;public:bankcard(string n, string a, string p, int m);bankcard:bankcard(string n, string a, string p, int m) :card(n, a, p) money = m;/将m赋值给金钱cout“bankcard构造函

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论