- C++面向对象
- 十二、 类和对象
- 十三、 类的定义和实例化
- 员工管理系统版本v.1
-
什么是对象
万物皆对象,任何一种事物都可以看做是对象. -
如何描述对象
通过对象的属性和行为来描述对象. -
面向对象程序设计
对自然世界中对象观察和描述引入到编程中一种理念和方法,这种方法称为"数据抽象",即在描述对象时把细节东西玻璃出去,只考虑一般性的、有规律性的、统一性的东西. -
什么是类
类就是将多个对象共性提取出来定义的一种新的数据类型,是对 对象 属性和行为的抽象描述.
现实世界 类 虚拟世界
具体对象–抽象–>属性/行为–实例化–>具体对象
-
类定义的一般语法形式
struct/class 类名:继承方式 基类,…{
访问控制限定符:
类名(形参表): 初始化列表{} //构造函数
~类名(void){} //析构函数
返回类型 函数名(形参表){} //成员函数
数据类型 变量名; //成员变量
}; -
访问控制限定符
1)public:公有成员,任何位置都可以访问。
2)private:私有成员,只有类自己的成员函数才能访问
3)protected:保护成员(后面讲)
注意: 如果struct定义类默认的访问控制属性是public;而如果是class定义类默认的访问控制属性是private. **eg**: struct/class XX{ int a; //默认访问属性 public: int b; //公有成员 private: int m_c; //私有成员 public: int m_d; //公有成员 int m_e; //公有成员 private: int f; //私有成员 }; 参考代码:10class.cpp
#includeusing namespace std; //原来定义结构体,现在定义类 struct Student{ //成员函数:描述对象的行为 void eat(const string &food){ cout <<"我在吃"< 参考代码2:使用class#includeusing namespace std; //原来定义结构体,现在定义类 //struct Student{ class Student{ public: //成员函数:描述对象的行为 void eat(const string &food){ cout <<"我在吃"< 员工管理系统版本v.1 参考代码: employee.cpp
#includeusing namespace std; class Employee{ public: void printInfo(void){ cout << "姓名:" << m_name << endl; cout << "工号:" << m_id << endl; cout << "基础工资:" << m_salary << endl; } void calSalary(void){ cout << "请输入出勤天数:"; int days; cin >> days; double basic = m_salary * (days/23.0); double merit = basic / 2; cout << (basic + merit) << endl; } public: void setId(int id){ if(id<10000) cout << "无效的工号" << endl; else m_id = id; } void setName(const string& name){ if(name.size() > 20) cout << "无效的姓名" << endl; else m_name = name; } void setSalary(double salary){ if(salary<0) cout << "无效的工资" << endl; else m_salary = salary; } private: int m_id;//工号 string m_name;//姓名 double m_salary;//工资 }; int main() { Employee emp; emp.setId(10011); emp.setName("张三"); emp.setSalary(6600); emp.printInfo(); emp.calSalary(); return 0; } 欢迎分享,转载请注明来源:内存溢出
评论列表(0条)