全球旧事资料 分类
关于友元的概念我们下一次再讨论)默认情况下类的成员都是私有的。protected(保护的),这个含义比较难解释,在这里我们也不进行讨论,在后期我们讨论继承的时候我们再继续说回这个话题。访问限定符在类中无先后次序,各限定符允许多次出现。
【C类的构造方法】
在C中构造一个类型,我们通常需要进行以下的步骤,下面我们可以通过一个简单的例子来说明:
如上就是一个基本的类。类通常以class为关键字打头,后面跟着类的名称,本例中为Stude
t,以一对花括号说明类的本体,以分号指代类的定义结束。通常在定义类的过程中使用private关键字来说明数据成员,当使用private:开头
f时,则说明在private:之后的所有成员都将为私有的成员,除了Stude
t类中的方法成员可以自由访问外,其他类外的成员将统统无法访问。同样public:打头时,说明public:之后的所有成员都是公有成员,任何区域的代码都可以对它们进行自由的访问。
【C中对象的定义和使用】
在定义玩上述的类之后,我们就可以构造一个Stude
t类的对象了,也就是一个用于存储某一个具体学生信息的变量。定义Stude
t对象std代码如下:
大家可以看到,对象定义的方法其实和定义变量非常的相似。那么接下来就是如何在std中保存信息了。按照我们以往的思路我们一定会写成如下的形式:
但毫无疑问的是这种赋值方式出现了错误,让我们一起来看看错误的原因:
造成这些错误的原因又是何在呢?其实这主要是因为我们在前面定义类的时候将ID、Name、Age三个属性定义成了private私有的类型,所以除了类中的代码之外,其他在类外的代码,例如主函数中的代码都不能够直接的访问这些成员,但是为了数据的安全,我们不得不这样做。那么我们怎样才能够做到既能够保证数据既安全又能够被访问到呢?这就是下面的这些函数的功劳:
这些函数都比较简短,我相信大家一眼就能够看出来这是什么意思。在这里要说明一下的是为了在赋值的时候防止形参的名称和类中已有的属性的名称相
f同而导致编译器无法识别到底要对哪个数据进行操作,因此在C中提出了this指针的概念,this这个关键字其实就指代当前的对象。例如当我们对std中的ID进行赋值时,这个this就指代的是std。因为类是抽象的,你永远都不可能知道别人会使用这个类去命名哪些对象,所以我们利用类能够统一描述对象的特性,使用this来代替每一个具体的对象的名称。对于程序员来说这无疑是既方便又快捷的。这些函数相当于是对象和外部交互的接口,通过这些r
好听全球资料 返回顶部