/* (程序头部注释开始)
* 程序的版权和版本声明部分
* Copyright (c) 2011, 烟台大学计算机学院学生
* All rights reserved.
* 文件名称:把结构体类型改成类类型
* 程序的版权和版本声明部分
* 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。