0
点赞
收藏
分享

微信扫一扫

C++:类的简介、如何定义并实例化一个类

穆熙沐 2022-03-23 阅读 84
c++

使用类来定义自己的数据结构。

每一个对象都有自己的属性和自己的行为,把具有相同属性和行为的对象总和在一起,统称为一个类。

想在程序中使用这个类,必须调用头文件(类在该头文件中定义,头文件按照其中定义的类名来命名)

面向对象与面向过程编程思路的不同

面向过程:以C语言为例,编程思路为使用函数和某些给定类型的数据作为工具,来得到新的数据。这种思想的特点在于:任何数据可以被任意函数处理。在面对大型复杂程序时此种方式效率较低。

面向对象:以C++为例,将待处理的数据和函数封装在一起,A类型的数据只有A类型的函数可以处理,其他函数不能处理。被封装在一起的东西叫做类class,与C语言中的struct类似,但效果更丰富。使用这些类可以创造出各种对象,程序是对这些对象进行操作。

C++中类的不同

在C++中,类有不同类型。有的类中只有一个指针,比如string,他所指向的内容存放在别的位置。有的类含有的则是一个确切的值。

定义一个类

要包括访问权限、属性、行为。类名后不用加括号。

访问权限直接写一个public。

属性写法:数据类型 属性名;

行为:函数。在类内的行为函数中使用属性,直接使用其名称即可。如果是在类外使用,应加对象名.。返回时直接返回即可。

在编译器处理一个类的定义的时候,会首先处理完类中全部的成员声明,之后才会处理成员函数的定义,无论该成员函数定义在类内还是类外。这是因为成员函数一般都会使用类中出现的任意一个成员的名字,而如果同时处理声明和函数定义的话,则成员函数只能利用其中已被处理声明的成员。

成员的声明一旦被处理后,就相当于在整个程序内他都是可见的了。

类作用域

类自己本身就是一个作用域。定义在类中的成员属性就是该作用域下的数据。

编译器编译类

编译器在编译类的时候都是先编译成员属性的声明。

访问权限

Public,也叫公共权限。作用为保证属性和行为无论是在类内还是类外都可以访问。

Protected 保护权限。成员在类内可以访问,类外不能访问。子类可以使用父类的。

Private 私有权限。成员在类内可以访问,类外不能访问。

写法:

如果什么都不写,则默认权限是private。

成员属性私有化

一般将成员属性权限设置为private。这样可以由自己来控制读写的权限。并且对于写权限,我们可以通过成员函数(也即接口)检测数据的有效性。

将属性设置为private,在类外无法访问。因此一般会提供一个具有公共权限的成员函数,来对外提供一个访问私有属性的接口。

只写接口:没有return,有传入的参数

只读接口:没有传入的参数,有return

可读可写:有return,有传入的参数

定义某个类类型的对象(实例化)

类名A 对象名V;

对象是指能存储数据且属于某种数据类型的空间

此方法即定义了一个类型为A的对象V。类中规定了可以对对象V做哪些操作。

访问对象的属性

对象名.属性 = 。。。;

类内变量的初始化

由类自己决定其中的变量是否需要显式初始化。如果不需要,则由类自己提供默认初始值。如string类会给未显式初始化的字符串赋值未空串。

 

举报

相关推荐

0 条评论