开发手册 欢迎您!
软件开发者资料库

C ++类和对象

C ++类和对象 - 从简单和简单的步骤学习C ++,从基本到高级概念,包括C ++概述,环境设置,基本语法,注释,数据类型,变量类型,范围,常量/文字,修饰符类型,存储类,运算符,循环类型,决策,函数,数字,数组,字符串,指针,引用,日期和时间,基本输入/输出,数据结构,类和对象,面向对象语言,方法,覆盖,继承,多态性,抽象,封装,接口,文件和流,STL,迭代器,算法,异常处理,动态内存,重载,模板,命名空间和信号处理,预处理器,多线程,Web编程。

C ++编程的主要目的是为C编程语言添加面向对象,类是C ++的核心功能,支持面向对象的编程,通常称为用户定义类型.

一个类用于指定对象的形式,它将数据表示和方法组合在一起,以便将该数据操作到一个整齐的包中.类中的数据和函数称为类的成员.

C ++类定义

定义类时,可以为其定义蓝图数据类型.这实际上并没有定义任何数据,但它确实定义了类名的含义,即类的对象将包含什么以及可以对这样的对象执行什么操作.

类定义以关键字 class 开头,后跟类名;和一个由一对花括号括起来的类体.类定义必须遵循分号或声明列表.例如,我们使用关键字 class 定义Box数据类型,如下所示 :

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

关键字 public 确定其后面的类成员的访问属性.可以在类对象范围内的任何位置从类外部访问公共成员.您还可以将类的成员指定为 private protected ,我们将在子部分中讨论.

定义C ++对象

类提供对象的蓝图,因此基本上是从类创建对象.我们声明一个类的对象与我们声明基本类型变量的声明完全相同.以下语句声明了Box类的两个对象;

  Box Box1;//声明Box的类型为Box  Box Box2;//声明Box2类型为Box

Box1和Box2这两个对象都有自己的数据成员副本.

访问数据成员

可以使用直接成员访问运算符(.)访问类对象的公共数据成员.让我们尝试以下示例使事情清楚 :

#include 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 <

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

Volume of Box1 : 210Volume of Box2 : 1560

重要的是要注意私有和无法使用直接成员访问运算符(.)直接访问受保护的成员.我们将学习如何访问私有成员和受保护成员.

详细的类和对象

到目前为止,您已经对C ++有了非常基本的了解类和对象.还有一些与C ++类和对象相关的有趣概念,我们将在下面列出的各个子部分中讨论 :

Sr.No概念&说明
1类成员函数

类的成员函数是具有其定义或其原型的函数在类定义中,像任何其他变量一样.

2Class Access Modifiers

班级成员可以被定义为公共,私人或受保护.默认情况下,成员将被视为私有.

3Constructor&析构函数

类构造函数是类中的特殊函数,在创建类的新对象时调用该函数.析构函数也是一个特殊函数,在删除创建的对象时调用.

4复制构造函数

复制构造函数是一个构造函数,它通过使用先前创建的相同类的对象初始化它来创建对象.

5朋友功能

允许朋友功能完全访问某个类的私人和受保护成员.

6内联函数

使用内联函数,编译器会尝试扩展函数体中的代码调用函数的地方.

7this Pointer

每个对象都有一个特殊的指针 this 指向对象本身.

8指向C ++类的指针

指向类的指针与指向结构的指针完全相同.事实上,一个类实际上只是一个包含函数的结构.

9静态成员

类的数据成员和函数成员都可以声明为static.