C++有三大特性:封装、继承、多态,这些都与类有关。类是面向对象的核心内容,非常重要。 C++认为完事万物都可以成为一个类,例如学生组成了学生类,动物有动物类。类又有一些属性,例如学生类有学号、姓名等属性。 下面设计一个圆类:
#include<iostream> #define PI 3.14 using namespace std; //设计一个圆类,求周长 class circle { //访问权限 public: //属性,半径 int m_r; //行为,获取周长 double calculateZC() { return 2 * PI * m_r; } }; int main() { //实例化,通过圆类创建一个具体的圆 circle c1; //设置属性 c1.m_r = 10; //调用方法 cout << "圆的周长为:" << c1.calculateZC() << endl; }在上面的示例中,看出类的关键字是class,在定义属性“半径”m_r,行为calculateZC(),行为本质上时一个函数。这些属性和行为前都有public修饰,这样就可以获取到这些属性。 实例化时,类跟普通数据类型一样,设置属性和调用方法时跟结构体一样。 仔细观察案例,了解类的定义格式和基本使用。 下面再看一个学生类:
#include<iostream> #include<string> using namespace std; class student { //类中的属性和行为统一称为成员 //属性也叫 成员属性 成员变量 //行为也叫 成员函数 成员方法 public: string m_Name; int m_Id; void setName(string name) { m_Name = name; } void setId(int Id) { m_Id = Id; } void showStudent() { cout << "姓名:" << m_Name << endl; cout << "学号:" << m_Id << endl; } }; int main() { student stu1; stu1.m_Name = "张三"; stu1.m_Id = 1; stu1.showStudent(); student stu2; stu2.setName("李四"); stu2.setId(2); stu2.showStudent(); }