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

/* (程序头部注释开始)
* 程序的版权和版本声明部分
* 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。


评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

leihengxin

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值