C++(类)

来源:互联网 发布:python 绝顶黑客 编辑:程序博客网 时间:2024/06/11 01:10

具有相同属性的一类事物,将不同类型的数据和与这些数据相关的操作封装在一起,类的实例是对象。


  1. 定义:
    class 类名//类名一般采取首字母大写的格式,成员访问权限的声明出现顺序无要求。
    {
    public:(public成员)
    private:(private成员)
    protected:(protected成员)
    };

  2. 访问权限(类的默认访问权限为私有)
    public(公有访问权限):提供类接口的功能,成员和程序中均可访问。
    private(私有访问权限):被隐藏的数据,只有该类的成员或友元函数可以访问,
                                              派生类和外部函数不能访问。
    protected(保护):成员函数和派生类都可以访问,外部类外部函数不能访问。

  3. 定义成员函数
    ①类体内定义
    ②类体外定义

    class Cdate{  void set(int a);};void Cdate::set(int a)//格式为   返回值类型 类名::函数名{函数体}{函数体}
  4. 调用成员函数
    成员运算符调用: Cdate obj;
                    obj.set(1);

    指针调用:Cdate *pobj;//pobj是指向obj的指针
              pobj=&obj;
              pobj->set(1);

    引用调用:Cdate &a=obj;//a是对象obj的引用
              a.set(1);

  5. 重名问题
    1、类型名隐藏了非类型名,如果要使用非类型名则在使用非类型名前加作用域运
         算符::
         int N;
       class N{};
       void fun()
       {
         class N a;//类N屏蔽了全局变量
         ::N=3;
       }

     2、非类型名隐藏了类型名,使用类型名时,在前加class
         class Num{};
         void fun(int Num)
         {
         class Num a;//类名前加class
         Num++;//形参自增
         }

  6. 类与结构体的区别
    1、结构体默认访问权限为public,类默认private。
    2、结构体通过特定语法格式初始化,类通过构造函数和析构函数初始化。

原创粉丝点击