当前位置: 首页 > wzjs >正文

成都网站制作公司dedecms国家企业信息查询公示系统官网

成都网站制作公司dedecms,国家企业信息查询公示系统官网,学校网页制作模板,做建筑的网站经过C入门的学习后,可能各位读者大大对于C语法部分的内容仍然有一些困惑,但是没关系,经过后面的学习我们会对前面的内容有更好的了解。 在本篇文章中,我们会学习C的另一个重要的部分——类与对象。 类的定义 类定义的格式 class为…

        经过C++入门的学习后,可能各位读者大大对于C++语法部分的内容仍然有一些困惑,但是没关系,经过后面的学习我们会对前面的内容有更好的了解。

        在本篇文章中,我们会学习C++的另一个重要的部分——类与对象。

类的定义

        类定义的格式

        class为定义类的关键字,Stack为类的名字,{}中为类的主题,注意类定义结束时后面分号不能省略(与C中的结构体变量)。类体中内容称之为类的成员;类中的变量称之为类的属性或成员变量;类的函数称之为类的方法或者成员函数。

        为了区分成员变量,一般习惯上成员变量会加上一个特殊标识,比如成员变量前面或后面加_或者_m等。这并不是C++的规定,具体看项目组和公司的要求。

        C++中struct也可以定义为类。C++兼容struct的用法,同时struct也升级为了类,很明显的变化是struct也可以定义函数。(不过我们推荐用class定义类)

        定义在类中的成员函数默认为inline

        下面就是一个定义类的结构示例

class stack 
{//成员变量int x;int arr[100];//成员函数void init(){//code}
};

        访问限定符

        C++一种实现封装的方式就是用类将对象的属性和方法结合到一起,让对象更加完善,通过访问权限接口选择性的将其接口提供给外部函数使用。

        

        public修饰的成员在类外可以直接访问;protected和private修饰的成员在类外不能直接被访问。在目前的章节我们认为protected和private,后续的学习才能体现出它们的区别。

        访问权限作用域从该访问限定符出现的位置开始直到下一个访问限定符出现位置,如果后面没有访问限定符,作用域就到},即类结束。

下图中两段代码是等效的。

        class定义成员没有被访问限定符修饰的时候默认为private,struct默认为public。

        举例说明:下图两段代码等效

且结果相同

        一般成员函数变量都会被限制为private/protected,需要给别人使用的成员函数会放为public。

        定义在类里面的函数就是内联函数。

类域

        在C++入门C++学习记录:C++入门-CSDN博客的命名空间片段中我们知道类域属于命名空间的一部分,接下来我们将就类域进行详细地叙述。

        目前我们知道的有四个域:局部域全局域、类域和命名空间域。命名空间域和类域不影响声明周期,只解决各自命名冲突(类域解决互相之间的命名冲突,命名空间域解决全局的命名冲突)

        类定义了一个新的作用域,类的所有成员都在类的作用域中,在类体外定义成员的时候,需要使用::作用域操作符指明成员属于哪个类域

        如果声明与定义分离,可以按如下方式去指定的类域寻找init函数,在预处理处包含<stack.h>(举例说明的)
            如果声明与定义分离,可以按如下方式去指定的类域寻找init函数,在预处理处包含<stack.h>(举例说明的)

void stack::init();//去指定的类域中寻找init函数

       类域解决了类与类之间的命名冲突。命名空间域是解决全局空间的函数/变量/类型的命名冲突。

        类域影响的是编译的查找规则。比如在下图的程序中init如果不指定类域stack,那么编译器就会把init当成全局函数,那么编译时,找不到array等成员的声明/定义在哪里,就会报错。指定类域stack,就是知道init是成员函数,如果当前域找不到,就回去类域当中寻找

#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
using namespace std;
class stack
{
public://成员函数void init(int n = 4);
private://成员变量int* array;size_t capacity;size_t top;
};
void stack::init(int n)
{array = (int*)malloc(sizeof(int) * n);if(nullptr == array){perror("malloc申请空间失败");return;}capacity = n;top = 0;
}int main()
{stack st;st.init();return 0;
}

http://www.dtcms.com/wzjs/753354.html

相关文章:

  • 网站建设画册网站文字特效
  • 大岭山镇做网站二手商品网站的设计与建设论文
  • 如何做vip视频网站福州专业网站建设推广费用
  • 太原网站建设找山西云起时宣传型网站建设
  • 深圳网站营销推广公司做货源的网站
  • 不良网站举报中心官网做网站的群
  • php网站建设外国参考文献企业网站建设与推广方案实例
  • 制作网站的花多少钱对网站做数据分析
  • 国内网站空间推荐做网站盘锦
  • 网站常用架构二级注册建造师信息查询官网入口
  • 做网站创意是什么意思东莞在那里建个网站
  • 网站开发 需要用到什么软件有哪些网站建设费无形资产摊销
  • 国外做问卷网站中交路桥建设网站
  • 网站模板兼容手机端seo的工作内容
  • 网站建设app杭州公司官网制作教程
  • 山西省住房和城乡建设厅网站首页建立网站第一步怎么做
  • 自助建站seo长沙百度百科
  • 济宁苍南网站建设做网站需准备些什么
  • 网站流量用完wordpress 附件下载
  • 营销网站的功能网站制作培训费用
  • 电商网站的相同点中国农业科技推广网
  • 网站301重定向 注意事项ideo设计公司官网
  • 做版面的网站wordpress 开发插件
  • 网站开发实战教程wordpress 优惠插件
  • 温州网站建设服务中心南宁网站开发外包性价比
  • 个人网站需要多大的网速中国最新军事新闻报道
  • 中国建设银行嵊州市支行网站网站设计的时间计划
  • 微网站 .net微信数据统计小程序
  • 网站的视频历史权重查询
  • 廊坊酒店网站建设win7 添加asp网站