分享更有价值
被信任是一种快乐

C++数据封装以及定义结构介绍

文章页正文上

今天小编给大家分享的是C++数据封装以及定义结构介绍,相信很多人都不太了解,为了让大家更加了解,所以给大家总结了以下内容,一起往下看吧。一定会有所收获的哦。先介绍一个字符串比较函数:strcmp(s1,s2),当s1s2时,返回一个正整数
还有一个字符串复制函数:strcpy(a,b),表示将字符串b的值复制给字符串a当然字符串b的长度不能超过字符串a
为了定义结构,您必须使用 struct 语句。struct 语句定义了一个包含多个成员的新的数据类型,struct 语句的格式如下:type_name 是结构体类型的名称,member_type1 member_name1 是标准的变量定义,比如 int i; 或者 float f; 或者其他有效的变量定义。在结构定义的末尾,最后一个分号之前,您可以指定一个或多个结构变量,这是可选的。下面是声明一个结构体类型 Books,变量为 book:为了访问结构的成员,我们使用成员访问运算符(.)。成员访问运算符是结构变量名称和我们要访问的结构成员之间的一个句号。下面的实例演示了结构的用法:实例中定义了结构体类型 Books 及其两个变量 Book1 和 Book2。当上面的代码被编译和执行时,它会产生下列结果:第一本书标题:C++教程
第一本书作者:Runoob
第一本书类目:编程语言
第一本书ID:12345
第一本书标题:CSS教程
第一本书作者:Runoob
第一本书类目:前端技术
第一本书ID:123456您可以把结构作为函数参数,传参方式与其他类型的变量或指针类似。您可以使用上面实例中的方式来访问结构变量:当上面的代码被编译和执行时,它会产生下列结果:书标题:C++教程
书作者:Runoob
书类目:编程语言
书ID:12345
书标题:CSS教程
书作者:Runoob
书类目:前端技术
书ID:123456您可以定义指向结构的指针,方式与定义指向其他类型变量的指针相似,如下所示:现在,您可以在上述定义的指针变量中存储结构变量的地址。为了查找结构变量的地址,请把 & 运算符放在结构名称的前面,如下所示:为了使用指向该结构的指针访问结构的成员,您必须使用 -> 运算符,如下所示:让我们使用结构指针来重写上面的实例,这将有助于您理解结构指针的概念:当上面的代码被编译和执行时,它会产生下列结果:书标题:C++教程
书作者:Runoob
书类目:编程语言
书ID:12345
书标题:CSS教程
书作者:Runoob
书类目:前端技术
书ID:123456下面是一种更简单的定义结构的方式,您可以为创建的类型取一个”别名”。例如:现在,您可以直接使用Books来定义Books类型的变量,而不需要使用 struct 关键字。下面是实例:您可以使用typedef关键字来定义非结构类型,如下所示:x, y 和 z 都是指向长整型 long int 的指针。所有的 C++ 程序都有以下两个基本要素:程序语句(代码):这是程序中执行动作的部分,它们被称为函数。程序数据:数据是程序的信息,会受到程序函数的影响。封装是面向对象编程中的把数据和操作数据的函数绑定在一起的一个概念,这样能避免受到外界的干扰和误用,从而确保了安全。数据封装引申出了另一个重要的 OOP 概念,即数据隐藏。数据封装是一种把数据和操作数据的函数捆绑在一起的机制,数据免费云主机、域名抽象是一种仅向用户暴露接口而把具体的实现细节隐藏起来的机制。C++ 通过创建类来支持封装和数据隐藏(public、protected、private)。我们已经知道,类包含私有成员(private)、保护成员(protected)和公有成员(public)成员。默认情况下,在类中定义的所有项目都是私有的。例如:变量 length、breadth 和 height 都是私有的(private)。这意味着它们只能被 Box 类中的其他成员访问,而不能被程序中其他部分访问。这是实现封装的一种方式。为了使类中的成员变成公有的(即,程序中的其他部分也能访问),必须在这些成员前使用 public 关键字进行声明。所有定义在 public 标识符后边的变量或函数可以被程序中所有其他的函数访问。把一个类定义为另一个类的友元类,会暴露实现细节,从而降低了封装性。理想的做法是尽可能地对外隐藏每个类的实现细节。C++ 程序中,任何带有公有和私有成员的类都可以作为数据封装和数据抽象的实例。请看下面的实例:当上面的代码被编译和执行时,它会产生下列结果:Total 60上面的类把数字相加,并返回总和。公有成员 addNum 和 getTotal 是对外的接口,用户需要知道它们以便使用类。私有成员 total 是对外隐藏的,用户不需要了解它,但它又是类能正常工作所必需的。通常情况下,我们都会设置类成员状态为私有(private),除非我们真的需要将其暴露,这样才能保证良好的封装性。这通常应用于数据成员,但它同样适用于所有成员,包括虚函数。C++ 在 C 语言的基础上增加了面向对象编程,C++ 支持面向对象程序设计。类是 C++ 的核心特性,通常被称为用户定义的类型。类用于指定对象的形式,是一种用户自定义的数据类型,它是一种封装了数据和函数的组合。类中的数据称为成员变量,函数称为成员函数。类可以被看作是一种模板,可以用来创建具有相同属性和行为的多个对象。定义一个类需要使用关键字 class,然后指定类的名称,并类的主体是包含在一对花括号中,主体包含类的成员变量和成员函数。定义一个类,本质上是定义一个数据类型的蓝图,它定义了类的对象包括了什么,以及可以在这个对象上执行哪些操作。以下实例我们使用关键字class定义 Box 数据类型,包含了三个成员变量 length、breadth 和 height:关键字 public 确定了类成员的访问属性。在类对象作用域内,公共成员在类的外部是可访问的。您也可以指定类的成员为 private 或 protected,这个我们稍后会进行讲解。类提供了对象的蓝图,所以基本上,对象是根据类来创建的。声明类的对象,就像声明基本类型的变量一样。下面的语句声明了类 Box 的两个对象:Box Box1; // 声明 Box1,类型为 Box Box Box2; // 声明 Box2,类型为 Box对象 Box1 和 Box2 都有它们各自的数据成员。类的对象的公共数据成员可以使用直接成员访问运算符 . 来访问。为了更好地理解这些概念,让我们尝试一下下面的实例:当上面的代码被编译和执行时,它会产生下列结果:Box1的体积:210
Box2的体积:1560
Box3的体积:1536需要注意的是,私有的成员和受保护的成员不能使用直接成员访问运算符 (.) 来直接访问。我们将在后续的教程中学习如何访问私有成员和受保护的成员。关于C++数据封装以及定义结构介绍就分享到这里了,希望以上内容可以对大家有一定的参考价值,可以学以致用。如果喜欢本篇文章,不妨把它分享出去让更多的人看到。

相关推荐: 如何使用局部刷新Ajax技术

这篇文章主要介绍“如何使用局部刷新Ajax技术”,在日常操作中,相信很多人在如何使用局部刷新Ajax技术问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何使用局部刷新Ajax技术”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!…

文章页内容下
赞(0) 打赏
版权声明:本站采用知识共享、学习交流,不允许用于商业用途;文章由发布者自行承担一切责任,与本站无关。
文章页正文下
文章页评论上

云服务器、web空间可免费试用

宝塔面板主机、支持php,mysql等,SSL部署;安全高速企业专供99.999%稳定,另有高防主机、不限制内容等类型,具体可咨询QQ:360163164,Tel同微信:18905205712

主机选购导航云服务器试用

登录

找回密码

注册