1 #include <iostream> // 预处理命令 2 using namespace std; 3 4 class Student{ // 声明一个类,类名为Student 5 6 private : // 以下为类中的私有部分 7 int num ;// 私有变量num 8 int score;// 私有变量score 9 public :// 以下为类中的公用部分 10 void setData()// 定义公用函数setdata 11 { 12 cin >> num;// 输入num的值 13 14 cin >> score;// 输入score的值 15 16 }// ;号 , 可有可无 17 18 void display() // 定义公用函数display 19 { 20 cout << "num=" << num << endl; // 输出num的值 21 22 cout << "score=" << score << endl; //输出score的值 23 24 } // ;号 , 可有可无 25 };// 类的声明结束 , ;号不能缺 26 27 Student stud1 ,stud2; //定义stud1和stud2为Student类的变量,称为对象 28 int main(void){ // 主函数首部 29 30 stud1.setData(); // 调用对象stud1的setdata函数 31 32 stud2.setData(); // 调用对象stud2的setdata函数 33 34 stud1.display(); // 调用对象stud1的display函数 35 36 stud2.display(); // 调用对象stud2的display函数 37 38 return 0 ; 39 }
在一个类中包含两种成员: 数据和函数,分别称为数据成员和成员函数。
在C++中把一组数据和有权调用这些数据的函数封装在一起,组成一种称为“类(class)”的数据结构。在上面的程序中,数据成员num,score和成员函数setdata,display组成了一个名为Student的“类”类型。成员函数是用来对数据成员进行操作的。也就是说,一个类是由一批数据以及对其操作的函数组成的。
类可以体现数据的封装性和信息隐蔽。在上面的程序中,在声明Student类时,把类中的数据和函数分为两大类: private(私有的)和public(公用的)。把全部数据(num,score)指定为私有的,把全部函数(setdata,display)指定为公用的。在大多数情况下,会把所有数据指定为私有,以实现信息隐蔽。
具有“类”类型特征的变量称为“对象”(object)。
程序中第28~39行是主函数。
程序运行情况如下:
1001 98.5 ↙ (输入学生1的学号和成绩) 1002 76.5 ↙ (输入学生2的学号和成绩) num=1001 (输出学生1的学号) score=98.5 (输出学生1的成绩) num=1002 (输出学生2的学号) score=76.5 (输出学生2的成绩)