C++类的知识点与应用总结

类的知识点

类的概述:类是 C++ 的核心特性,在C++中,除了已有的数据类型(整型,字符型)外,还可以自定义数据类型,这种类型通常被称为用户定义的类型。类用于指定对象的形式,它包含了数据表示法(数据类)和用于处理数据(操作类)的方法。类中的数据和方法称为类的成员。函数在一个类中被称为类的成员。

类的定义:类定义是以关键字 class 开头,后跟类的名称。类的主体是包含在一对花括号中。类定义后必须跟着一个分号或一个声明列表。例如,我们使用关键字 class 定义 Box 数据类型,如下所示:

class Box
{
   public://公有成员  在类外可以访问
      double length;   // 盒子的长度
      double breadth;  // 盒子的宽度
      double height;   // 盒子的高度
};

注:

① 如果类的定义和主函数在同一个源文件里,那么就会可能遇到这样的问题:在类定义之 前,主函数使用了这个类。这将会导致错误的发生,因为主函数还没有意识到这个类的存在。 所以必须在主函数之前声明这个类的存在。

② 还可以在头文件中定义类,然后在.Cpp源文件中包含这个头文件,由于包含头文件在主函数之前,所以不用在主函数中声明这个类。

Student.h //头文件
class Student //学生类的定义
{
   ……
};
main.cpp //文件
#include "Student.h" //要注意这里必须用双引号,而不能用尖括号
int main()
{
   ……
}

创建对象:对象是根据类来创建的,声明类的对象,就像声明基本类型的变量一样。

Box B;          // 声明对象B,类型为Box型 

对象的引用:

声明一个对象的引用方法是:        类名 &对象名 a=对象名 b;

对对象 a 的访问和操作就如同对对象 b 的访问和操作一样,对象 a 只是对象 b的一个“绰号”。

string A; //声明一个字符串对象
string &B=A; //声明一个引用
B.append("ABC"); //效果与 A.append("ABC")相同

对象指针:所谓对象指针,就是指向对象的指针

string A; //声明一个字符串对象
string *B=&A; //声明一个对象指针
B->append("ABC"); //效果与 A.append("ABC")相同

【箭头操作符->可以访问该指针所指向的对象的成员数据或成员函数】

访问数据成员:

在访问数据成员时,可以用访问运算符  .  操作 ,私有的【Private】成员和受保护的【 Protected】成员不能使用直接成员访问运算符   .   来直接访问。

#include <iostream>
using namespace std;
class Box //定义Box类
{
   public://公有成员
      double length;   // 长度
      double breadth;  // 宽度
      double height;   // 高度
};
int main( )
{
   Box Box1;        // 声明 Box1 对象,类型为 Box
   double volume = 0.0;     // 用于存储体积
   // box 1 详述
   Box1.height = 10.0;
   Box1.length = 10.0;
   Box1.breadth = 10.0;
   // box 1 的体积
   volume = Box1.height * Box1.length * Box1.breadth;
   cout << "Box1 的体积:" << volume <<endl;
   return 0;
}

注:同一个类的成员数据(或成员函数)在其成员函数中可以直接使用。在这个类外使用一个对象的公有成员数据时,要写作“对象名.成员数据”,但是在成员函数中不需要也不能那样写。

常成员函数:

在成员函数后加上const,使用常成员函数,就保证了成员数据的安全。在此函数中任何修改成员数据的语句将被编译器拒之门外。

int readNo() const; //读取学号函数 只能读取不能修改数据

成员函数的重载:

和普通函数类似,在一个类中也可以有成员函数的重载,但是任意两个同名函数参数表中的参数个数、各参数的数据类型和顺序不能完全一样。

void set(int No,string Name);   //设置学号姓名
void set();                    // 重置学号姓名

构造函数:

构造函数是一种随着对象创建而自动被调用的函数,它的主要用途是为对象作初始化。在 C++中,规定与类同名的成员函数就是构造函数。构造函数应该是一个公有的成员函数,并且构造函数没有返回值类型。

#include<bits/stdc++.h>
using namespace std;
class Student//学生数据类
{
private:
    string name;//姓名
    int no;//学号
    int score[3];//语数外成绩
    float average;//平均成绩
    int order;//排名
public:
        Student(int id,string na,int x,int y,int z):name(na),no(id){//含参构造函数
        score[0]=x,score[1]=y,score[2]=z;
        order=1,average=(score[0]+score[1]+score[2])/3;
    }
        Student(){//无参构造函数
                  score[0]=score[1]=score[2]=0;
                  order=1,average=0;
        }
};



猜你喜欢

转载自blog.csdn.net/qq_41113081/article/details/80026654
今日推荐