项目实训--把结构体类型改成类类型

来源:互联网 发布:e4a中文安卓编程软件 编辑:程序博客网 时间:2024/06/04 17:52
/* (程序头部注释开始)
* 程序的版权和版本声明部分
* Copyright (c) 2011, 烟台大学计算机学院学生
* All rights reserved.
* 文件名称:把结构体类型改成类类型

* 作 者: 雷恒鑫
* 完成日期: 2012 年 08 月 21 日
* 版 本 号: V1.0
* 对任务及求解方法的描述部分
* 输入描述:
* 问题描述:
* 程序输出:

* 程序头部的注释结束

*/

下面是结构体类型:

struct record{ int accNumber;//账号 char accName[9];//户名 char accPWD[7];//密码 double balance;//余额 char flag[2];//销户标志};


改成结构体类型为:

class Record{private:int number;string userName;string passWord;double balance;int flag;public:Record();void set_number(int number);void set_userName(string userName);void set_passWord(string passWord);void set_balance(double balance);void set_flag(int flag);int get_number();string get_userName();string get_passWord();double get_balance();int get_flag();void display_Record();};


下面是源程序的完整代码:

Record.h

#ifndef HEADER_RECORD#define HEADER_RECORD#include <string>using namespace std;class Record{private:int number;string userName;string passWord;double balance;int flag;public:Record();void set_number(int number);void set_userName(string userName);void set_passWord(string passWord);void set_balance(double balance);void set_flag(int flag);int get_number();string get_userName();string get_passWord();double get_balance();int get_flag();void display_Record();};# endif


Record.cpp

#include "Record.h"#include <iostream>using namespace std;Record::Record(){this->number=0;this->userName="";this->passWord="";this->balance=0;this->flag=-1;}void Record::set_number(int number){this->number=number;}void Record::set_userName(string userName){this->userName=userName;}void Record::set_passWord(string passWord){this->passWord=passWord;}void Record::set_balance(double balance){this->balance=balance;}void Record::set_flag(int flag){this->flag=flag;}int Record::get_number(){return this->number;}string Record::get_userName(){return this->userName;}string Record::get_passWord(){return this->passWord;}double Record::get_balance(){return this->balance;}int Record::get_flag(){return this->flag;}void Record::display_Record(){cout<<"Print Record Elements..."<<endl;cout<<"Number:"<<endl;cout<<"UserName:"<<this->userName<<endl;cout<<"PassWord:"<<this->passWord<<endl;cout<<"Balance:"<<this->balance<<endl;cout<<"Flag:"<<this->flag<<endl;cout<<"End of Record..."<<endl;}


TestRecord.cpp

#include "Record.h"int main(){Record *record= new Record();record->display_Record();record->set_number(10001);record->set_userName("zhangsan");record->set_passWord("123456");record->set_balance(10000);record->set_flag(1);record->display_Record();return 0;}


运行结果:

 

经验积累:

1.老师问“#ifndef HEADER_RECORD”的意思是什么?我查了一下,意思是这样的:

#ifndef 是if not define的简写;

#ifndef HEADER_RECORD        //先测试HEADER_RECORD是否被宏定义过。#define HEADER_RECORD 程序段1                                        //如果HEADER_RECORD没有被宏定义过,定义HEADER_RECORD,并编译程序段1#endif      程序段2                                       // 如果HEADER_RECORD已经定义过了则编译程序段2的语句,“忽视”程序段1。