2021-06-28

C ++类和对象

C ++编程的主要目的是将对象方向添加到C编程语言中,类是支持面向对象编程的C ++的中心特征,通常称为用户定义类型。
一个类用于指定一个对象的形式,它将数据表示和方法结合起来,将数据操作成一个整齐的包。类中的数据和函数称为类的成员。
C ++类定义
定义类时,可以为数据类型定义蓝图。这实际上并不定义任何数据,但它确实定义了类名称是什么意思,也就是说,类的对象将由哪个对象组成,哪些操作可以在这样的对象上执行。
类定义从关键字类开始,后跟类名称;和类在这里插入代码片主体,由一对花括号括起来。类定义必须用分号或者声明列表来跟随。例如,我们使用关键字类定义Box数据类型,如下所示:

class Box {
   public:
      double length;   // Length of a box
      double breadth;  // Breadth of a box
      double height;   // Height of a box
};

关键字public决定跟随它的类的成员的访问属性。在类对象范围内的任何地方,可以从类外访问公共成员。您还可以将类的成员指定为私有或protect,我们将在子部分中探讨
定义C ++对象
一个类提供了对象的蓝图,所以基本上从一个类创建一个对象。我们声明类的对象与我们声明基本类型变量的完全相同的声明类型。以下语句声明了Box类的两个对象:

Box Box1;          // Declare Box1 of type Box
Box Box2;          // Declare Box2 of type Box

这两个对象Box1和Box2都有自己的数据成员副本。
访问数据成员
可以使用直接成员访问运算符(。)访问类的对象的公共数据成员。让我们尝试以下的例子来说明事情:

#include <iostream>

using namespace std;

class Box {
   public:
      double length;   // Length of a box
      double breadth;  // Breadth of a box
      double height;   // Height of a box
};

int main( ) {
   Box Box1;        // Declare Box1 of type Box
   Box Box2;        // Declare Box2 of type Box
   double volume = 0.0;     // Store the volume of a box here
 
   // box 1 specification
   Box1.height = 5.0; 
   Box1.length = 6.0; 
   Box1.breadth = 7.0;

   // box 2 specification
   Box2.height = 10.0;
   Box2.length = 12.0;
   Box2.breadth = 13.0;
        
   // volume of box 1
   volume = Box1.height * Box1.length * Box1.breadth;
   cout << "Volume of Box1 : " << volume <<endl;

   // volume of box 2
   volume = Box2.height * Box2.length * Box2.breadth;
   cout << "Volume of Box2 : " << volume <<endl;
        
   return 0;
}

当上述代码被编译并执行时,它产生以下结果:

Volume of Box1 : 210
Volume of Box2 : 1560

重要的是要注意,不能使用直接成员访问运算符(。)直接访问私有和受保护的成员。我们将了解如何访问私人和受保护的成员。

类和对象详细
到目前为止,您对C ++类和对象有非常基本的了解。还有一些与C ++类和对象相关的有趣的概念,我们将在下面列出的各个小节中探讨:

类成员函数:
类的一个成员函数是一个函数,它像其他变量一样在类定义中具有其定义或prototype。

类访问修饰符:
类成员可以被定义为公共,私有或受保护。默认情况下,成员将被假定为私有的。

构造函数和析构函数:
类构造函数是一个类中的一个特殊函数,当类的新对象被创建时被调用。析构函数也是一个特殊的函数,在创建对象被删除时被调用。

C ++复制构造函数:
复制构造函数是一个构造函数,它通过使用以前创建的同一个类的对象初始化来创建一个对象。

C ++朋友的功能:
允许一个朋友的功能完全访问一个类的私人和受保护的成员。

C ++内联函数:
使用内联函数,编译器尝试在函数体中扩展代码,代替对函数的调用。

这个指针在C ++中:
每个对象都有一个特殊指针这个指向对象本身。

指向C ++类:
指向一个类的指针的完成方式与指向结构的指针完全相同。实际上,一个类实际上只是一个具有函数的结构。

一个类的静态成员:
类的数据成员和函数成员都可以声明为静态。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值