• C++面向对象Day02:C++ 类 & 对象


    由于本人之前有C基础,C++的程度是基本语法+STL+ C with class的程度,对类与对象和高级特性没有学习, 因此学习中只记录自己不知道的,其他已知的掠过。

    教程来自:https://www.w3cschool.cn/cpp/

    C++ 类 & 对象

    • 类是 C++ 的核心特性,通常被称为用户定义的类型。(变量+函数,与struct区分)
    • 类的对象的公共数据成员可以使用直接成员访问运算符 (.) 来访问。私有的成员和受保护的成员不能使用直接成员访问运算符 (.) 来直接访问。
    • 类成员函数是类的一个成员,它可以操作类的任意对象,可以访问
    • 成员函数可以定义在类定义内部,或者单独使用范围解析运算符 :: 来定义(这里就解释了前面的std::cin)比如:
    class Box
    {
       public:
          double length;      // 长度
          double breadth;     // 宽度
          double height;      // 高度
       
          double getVolume(void)
          {
             return length * breadth * height;
          }
    };
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    也可以在类的外部使用范围解析运算符 :: 定义该函数,如下所示:

    double Box::getVolume(void)
    {
        return length * breadth * height;
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5

    对于比较复杂的类,可以在定义类成员时写函数声明,再用::在下面单独写函数内容:

    class Line
    {
       public:
          double length;
          void setLength( double len );
          double getLength( void );
    };
     
    // 成员函数定义
    double Line::getLength(void)
    {
        return length ;
    }
     
    void Line::setLength( double len )
    {
        length = len;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 数据隐藏是面向对象编程的一个重要特点,它防止函数直接访问类类型的内部成员。类成员的访问限制是通过在类主体内部对各个区域标记 public、private、protected 来指定的。(访问说明符)
    • 默认情况下,类的所有成员都是私有的。(就是前面不写public)。实际操作中,我们一般会在私有区域定义数据,在公有区域定义相关的函数。
    • protected成员在外部不可访问,但在派生类(即子类)中是可访问的:
     
    class Box
    {
       protected:
          double width;
    };
     
    class SmallBox:Box // SmallBox 是派生类,注意派生类的写法
    {
       public:
          void setSmallWidth( double wid );
          double getSmallWidth( void );
    };
     
    // 子类的成员函数
    double SmallBox::getSmallWidth(void)
    {
        return width ;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19

    类的构造函数

    • 类的构造函数是类的一种特殊的成员函数,它会在每次创建类的新对象时执行。
    class Line
    {
       public:
          void setLength( double len );
          double getLength( void );
          Line();  // 这是构造函数
     
       private:
          double length;
    };
     
    // 成员函数定义,包括构造函数
    Line::Line(void)
    {
        cout << "Object is being created" << endl;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
  • 相关阅读:
    在 Kubernetes 上部署 DM
    pytorch_神经网络构建1
    小冰携手传祺,汽车座舱“虚拟人”渐成标配
    MYSQL--存储引擎和日志管理
    mac 中配置idea自带maven环境变量
    判断一个类是否为另一类的子类issubclass()
    PBA.客户需求分析 & 需求管理
    JavaScript 日期和时间的格式化
    【C++】多态 ③ ( “ 多态 “ 实现需要满足的三个条件 | “ 多态 “ 的应用场景 | “ 多态 “ 的思想 | “ 多态 “ 代码示例 )
    java-StringBuilder
  • 原文地址:https://blog.csdn.net/weixin_43303286/article/details/133620479