实验2类和对象Word格式文档下载.docx
《实验2类和对象Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《实验2类和对象Word格式文档下载.docx(24页珍藏版)》请在冰豆网上搜索。
//编译预处理命令
usingnamespacestd;
//使用命名空间std
classPeople
{
private:
//数据成员
charname[9];
//姓名
intage;
//年龄
intheight;
//身高
doubleweight;
//体重
staticintnum;
//人数
public:
//公有函数
People(charnm[]="
路人甲"
inta=16,inth=168,intw=118):
age(a),height(h),weight(w){strcpy(name,nm);
num++;
}voidEatting(){weight++;
}//进食
voidSporting(){height++;
}//运动
voidShow()const//显示信息
{
cout<
<
"
个人信息:
"
<
endl;
姓名:
name<
年龄:
age<
岁"
身高:
height<
厘米"
体重:
weight<
市斤"
endl<
}
staticvoidShowNum()//显示人数
{cout<
人数:
num<
};
intPeople:
:
num=0;
//初始化静态数据成员num
intmain()//主函数main()
Peoplep1;
//定义对象
p1.Show();
//显示信息
Peoplep2("
李敏"
18,170,108);
//定义对象
p2.Eatting();
//进食
p2.Sporting();
//运动
p2.Show();
People:
ShowNum();
//显示人数
system("
PAUSE"
);
//调用库函数system(),输出提示信息
return0;
//返回值,返回操作系统
}
参考程序2:
基于MFC对话框应用程序实现People(人)类。
假设运行时的界面如下:
实现步骤:
1.在VisualC++6.0工作开发环境中,New对话框中选择MFCAppWizard[exe]项目,输入项目名称并指定存放位置。
2.在MFCWizardStep1选择Dialog(基本对话)程序类型,在MFCWizardStep2中输入对话框标题“实验2类和对象”。
AppWizard对话结束后打开对话框编辑窗口如下:
3.定制界面:
添加控件、设置属性
删除对话框模板中原有的“确定”按钮和内容为“TODO:
在这里设置对话控制。
”的StaticText控件。
修改对话框界面显示字号为小四,选中对话框,鼠标右键单击该对话框标题栏,在弹出的下拉菜单中打开属性对话框,单击“Font…”按钮,在打开的对话框中选“宋体”、“小四”。
在控件工具箱中取一个GroupBox控件,调整适当大小,鼠标右键单击该控件边框,在弹出的下拉菜单中打开属性对话框。
将GroupBox控件标题由“Static”改为“人员信息”。
在GroupBox中添加4个StaticText控件,按同样方法修改它们的标题属性为“姓名”、“年龄”、“身高”和“体重”
在GroupBox中添加4个EditBox控件,打开属性对话框的ExtendedStyles选项卡中将它们设置为文本右对齐(RightAligendText)方式。
其中第1、2、3、4个EditBox控件的Styles属性设置为Read-only。
在界面中添加一个5按钮Button控件,打开属性对话框将按钮的标题属性改为“人员生成”、“上一个”、“下一个”、“锻炼”、“进食”。
鼠标右键单击“取消”按钮边框,在弹出的下拉菜单中打开属性对话框。
将按钮标题改为“退出”。
设计完成的界面如图,其中控件属性列表如下:
控件
ID号
标题
属性
GroupBox
IDC_STATIC
人员信息
StaticText
姓名
年龄
身高
体重
EditBox
IDC_EDIT1
Aligntext:
Right;
Read-only
IDC_EDIT2
IDC_EDIT3
IDC_EDIT4
Button
IDC_BUTTON1
人员生成
IDC_BUTTON2
上一个
IDC_BUTTON3
下一个
IDC_BUTTON4
锻炼
IDC_BUTTON5
进食
IDCANCEL
退出
4.添加成员变量
单击View(查看)>
ClassWizard(建立类向导)菜单进入ClassWizard,打开MemberVariables选项卡:
为4个EditBox控件设置对应的变量:
同样的方法为其它3个EditBox控件设置变量:
控件ID
变量名
变量类型
数值范围
m_ed1
CString
m_ed2
int
0~200
m_ed3
0~1000
m_ed4
5.添加消息映射(两条消息)
进入ClassWizard,打开MessagesMaps选项卡,在ObjectIds中选择CAverageDlg,在Messages中鼠标单击WM_INIDIALOG,在Memberfunctions中出现生成的消息映射成员函数OnInitDialog提示:
在ObjectIds中选择IDC_BUTTON1,在Messages中鼠标双击BN_CLIKED,在弹出对话框中单击OK按钮:
在Memberfunctions中出现第二个生成的消息映射成员函数OnButton1。
同样的方法为其它4个Button控件设置消息映射成员函数。
6.添加People类
单击“Insert”(插入)\“NewClass”(新类),在对话框中建立“People”类
在“People”类中添加成员变量“charname[5]、intage、intweight、intheight”,添加成员函数“E、Eat”,修改构造函数。
修改完成后的“people.h”文件内容如下
修改完成后的“people.cpp”文件内容如下
7.添加代码
在类“shiyan2Dlg”中添加成员变量“People*p[3]、intq”
”
在ClassWizard中双击OnInitDialog函数,打开代码编辑器中的OnInitDialog()函数代码,找到其中的//TODO:
Addextrainitializationhere,加入下面的黑体字给出的1行代码:
BOOLCDlgDlg:
OnInitDialog()
CDialog:
OnInitDialog();
…;
//TODO:
Addextrainitializationhere
q=-1;
returnTRUE;
//returnTRUEunlessyousetthefocustoacontrol
在ClassWizard中双击OnButton1()函数,打开代码编辑器中的OnButton1()函数代码,找到其中的//TODO:
Addextrainitializationhere,加入下面的黑体字给出的9行代码:
voidCShiyan2Dlg:
OnButton1()
Addyourcontrolnotificationhandlercodehere
charnm1[10];
p[0]=newPeople("
张勇"
19,168,60);
p[1]=newPeople("
邹萍"
18,163,41);
p[2]=newPeople("
杨霞"
17,162,50);
q=0;
p[q]->
Show(nm1,&
m_ed2,&
m_ed3,&
m_ed4);
m_ed1.Format(nm1);
UpdateData(FALSE);
添加其它按钮程序:
OnButton2()
if(q<
0)
{
MessageBox("
请先使用<
人员生成>
按钮创建人物!
"
实验二"
return;
if(q>
q--;
elseq=2;
OnButton3()
请先使用\"
人员生成\"
if(q<
2)
q++;
elseq=0;
OnButton4()
Sporting();
OnButton5()
Eatting();
8.编译运行程序: