第2讲类与对象(1) 2C++案例背景介绍从本章开始,我们将按照面向对象的程序设计思想实现一个简化的“大学人员信息管理系统”。所谓面向对象的程序设计,程序的核心是数据。“人员信息管理”的核心数据是“人员信息”,因此需要将不同的人员抽象出来,对其属性数据和行为进行封装。在大学里,主要有两大类人员:学生和教职员工。其中学生又可分为本科生和研究生等。而教职员工又可分为教师和职员等。我们对不同类的人员所具有的属性和行为进行描述,称为数据抽象,形成了“类”的概念。一个类的实例称为类的“对象”,对应着问题域中的实体。例如:学校里的学生很多,他们都具有同样的属性和行为,抽象成为“学生类”——CStudent;学生李明对应到程序中就是CStudent类对象liming。3本讲主要内容类与对象的基本概念构造函数与析构函数对象数组和对象指针常成员函数与常对象4类与对象的基本概念5【分析】在案例程序的背景下,分析“学生”具有的属性和行为主要有:姓名学号性别出生日期专业所属院系所属班级各科成绩身高体重爱好……睡觉吃饭上课考试上自习背单词社团活动打球选课查询成绩做作业……【例2-1】学习面向对象程序设计中类的概念,描述案例程序中“学生”的属性和行为。建立学生类的对象,并利用C++的输入输出方式实现学生信息的输入和输出。根据程序的功能进行取舍和细化,将与程序无关的属性数据和行为去除,谓之“数据抽象”。61. C++类的构成与定义抽象出一个基本的类——CStudent类。该类包含两部分信息:属性数据以不同类型的数据表现操作(行为)以函数形式表现7CStudent类的属性数据char m_strName[20];//姓名char m_strID[12];//编号char m_cSex;//性别:0代表男1代表女char m_strMajor[20];//专业8CStudent类的行为(部分)void SetName(char*strName);//设置学生姓名void GetName(char*strName); //获取学生姓名void SetID(char*strID); //设置学生IDvoid GetID(char* strID);//获取学生ID……对于每一个属性数据,通常需要为之设计两个基本操作——设置(Set)该属性数据的值,获取(Get)该属性数据的值。9#include <iostream>using namespace std;classCStudent{private:char m_strName[20];//姓名char m_strID[12];//编号char m_cSex;//性别:'0':男'1':女char m_strMajor[20];//专业public:void SetName(char*strName){strcpy(m_strName, strName);} 数据成员成员函数关键字class 用以声明一个类class 后面的CStudent是用户自定义类名CStudent是一个新的类型公有成员在关键字public后面声明,它们是类与外部的接口,任何外部函数都可以访问公有类型数据和函数。私有成员在关键字private后面声明,该域放在前面时,private可以省略。只允许本类中的函数访问,而类外部的任何函数都不能访问。10void GetName(char*strName) {strcpy(strName, m_strName); } void SetID(char*strID){strcpy(m_strID, strID); } void GetID(char* strID) {strcpy(strID, m_strID); } void SetSex(char cSex) {m_cSex = cSex; } void GetSex(char* cpSex) {*cpSex = m_cSex; } void SetMajor(char* strMajor) {strcpy(m_strMajor, strMajor); } void GetMajor(char* strMajor) {strcpy(strMajor, m_strMajor); }};不要忘了类的结束符;
二级c++课件 来自淘豆网m.daumloan.com转载请标明出处.