.. _ch8-8-2: 8.2 类的声明和对象的定义 =========================== 类和对象的关系了(了解即可) ---------------------------- 对象的类型成为类(class)。类代表一类对象的共性和特征。 **类是对象的抽象,对象是类的具体实例** (尼玛,这书上前面说的是特例,现在是具体实例,实现考试不会那么抠字眼) 类的声明形式 --------------- .. code-block:: c++ class 类名 { public: //习惯是先写public 再写 private 公用的数据和成员函数; //公用的类外可以访问 private: //如果没有指定public还是private,默认是private 私有的数据和成员; //私有的类外部可以访问 比如你的私房钱藏在哪我知道吗? }; // 注意结尾这个分号,不要忘记写哈 定义对象的方法 ---------------- **类名 对象名** 在类外定义成员函数 --------------------- 在类内定义函数不需要在函数名前加上类名, 在类外定义函数 **函数类型 类名::函数名()** //函数类型就是void , int 之类的 { } 例如 .. code-block:: c++ class Student { ... void display(); } void Student::display() { ... } 对象成员的引用 ---------------------- **通过对象名和成员运算符的方式** (重要) **对象名.成员名** 例子 .. code-block:: c++ Student.display(); **通过指向对象的指针方式** (记住形式就OK) 例子, 以后看到这种形式,明白就行了 .. code-block:: c++ Student s, *p; //*函数名 就表示指针 p = &s; //把对象 S 赋值给指针P ,赋值给指针,注意& 符号 p -> display(); //相当于 s.display(); (*p).display(); //相当于 s.display(); **通过对象的引用方法** 为一个对象定义了一个引用变量,它们是共占同一段存储空间的。简单说,它们就同一个对象,名字不同而已。 .. code-block:: c++ Student s1; //定义对象s1 Student &s2 = s1; //定义Student 类引用变量s2,并赋值为s1, 即s2 为s1 对象的另一个名字 s2.display(); //相当于 s1.display();