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;
      }
};

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

double Box::getVolume(void)
{
    return length * breadth * height;
}

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

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;
}
  • 数据隐藏是面向对象编程的一个重要特点,它防止函数直接访问类类型的内部成员。类成员的访问限制是通过在类主体内部对各个区域标记 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 ;
}

类的构造函数

  • 类的构造函数是类的一种特殊的成员函数,它会在每次创建类的新对象时执行。
class Line
{
   public:
      void setLength( double len );
      double getLength( void );
      Line();  // 这是构造函数
 
   private:
      double length;
};
 
// 成员函数定义,包括构造函数
Line::Line(void)
{
    cout << "Object is being created" << endl;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值