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

seo sem 外贸建站 网站建设 文化墙设计哈尔滨城市建设局网站

seo sem 外贸建站 网站建设 文化墙设计,哈尔滨城市建设局网站,互联网金融网站设计,企业营销网站开发建设专家目录 1. 类与对象1.1 引子#xff1a;结构体与类1.2 什么是类#xff08;类的定义方式#xff09;1.3 类和结构体的区别1.4 类的访问限定符与封装1.4.1 访问限定符1.4.2 类的作用域与类的实例化 1.5 类对象的模型1.5.1 类内部资源的存储方式1.5.3 类大小的计算方式 1.6 this… 目录 1. 类与对象1.1 引子结构体与类1.2 什么是类类的定义方式1.3 类和结构体的区别1.4 类的访问限定符与封装1.4.1 访问限定符1.4.2 类的作用域与类的实例化 1.5 类对象的模型1.5.1 类内部资源的存储方式1.5.3 类大小的计算方式 1.6 this指针1.6.1 this指针的引入1.6.2 this指针的特性 1. 类与对象 1.1 引子结构体与类 在C语言中我们学习过自定义类型结构体其内部可以创建自定义类型的变量与内置类型的变量来满足我们的需要。结构体的产生是为了描述简单内置类型无法定义的复杂对象。我们知道计算机是帮着人们解决现实世界问题的工具将问题使用编程语言描述出来并传递给计算机来进行解决为了更好的贴近现实生活由此有了结构体的概念。当我们引入面向对象的概念C初阶之后结构体已经无法满足我们的需求为了更好的解决问题我们引入类与对象的概念。 1.2 什么是类类的定义方式 定义方式类名关键字Class 类名 类体成员变量 类方法 访问限定符 class [这个类的名称] { public://类的成员变量 private://类方法 };补充C中成员变量命名方式 注类的内部方法可以直接访问类的成员变量 class Date { private:int year;int month;int day;public: void Init(int year){//无法正常赋值year year;} };上述操作会导致命名冲突编译器无法识别发生错误所以建议类的成员变量前都加下划线_ class Date { private:int _year;int _month;int _day; }类方法的声明与定义分离 //class.h class Date { private: int _year;int _month;int _day; public:void Print(); }//class.c void Date::Print() {cout _year - _month - _day endl; }类方法声明与定义方式分离的方式可以提高代码的可读性在类内部定义的方法会被默认为内联函数 1.3 类和结构体的区别 当我们分别使用类与结构的方式定义栈两者有何差异。C语言中的结构体 结构体 //定义方式 struct Stack {int* _data;int _capacity;int _top; };void StackInit(Stack* stack) {stack-_data NULL;stack-_capacity stack-_top 0; }//调用方式 struct Stack stack1; StackInit(stack1);类 //定义方式 class Stack { public:int* _data;int _capacity;int _top;void Print(){cout _capacity endl;} };//调用方式 Stack stack1; stack1.Print();定义方式与内部结构 结构体内部只能定义变量而类还可以定义方法类有访问限定符决定其内部成员变量是否可以访问只有public的情况下可以访问 调用方式 创建变量时结构体类型的全名为struct 结构体名而类只需要使用Class关键字之后的类名类可以直接调用类方法而结构体只能将自己作为参数传参给指定函数 注上述区别为C语言中结构体与类的区别在C中对这一方面有了调整与补足C结构体中也可以定义方法使用时也可以省略关键字struct 1.4 类的访问限定符与封装 面向对象三大特点封装继承多态 1.4.1 访问限定符 公有public类外可以直接访问私有private类外无法访问保护protect类外无法访问 注访问的限定符的作用域为从限定符开始到下一个限定符/类的末尾结束 访问限定符的作用与存在意义 对类内部资源进行访问与操作权限区分提高了内部资源的安全性隐藏了类实现的细节方便数据的管理使得对类的使用变得简单因为有访问限定符对类内部资源权限的不同划分由此而实现了对类的封装 1.4.2 类的作用域与类的实例化 类体内是一个独立的作用域其内部的所有成员在类的作用内而在类内部声明外部定义的成员在定义时需要声明类域如此才能够访问类内部的资源。 class A { public:int _a;void Print(); };void A::Print() {cout _a endl; }我们自定义类的使用与结构体自定义类型的使用类似同样为类型 创建对象名变量的定义方式类的实例化我们定义的类并非实体只是一个抽象的模板如果将类实例化出的对象比作具体现实存在的高楼那么类就是这些高楼的建筑图纸 class B { public:int _b;void Print(){cout _b endl;} }//实例化方法 B b1; //访问实例化对象内部成员的方式 b1._b 10; //调用内部方法的方式 b1.Print();1.5 类对象的模型 1.5.1 类内部资源的存储方式 我们通过上面的学习了解到类是由两部分组成的成员变量 成员函数我先通过简单控制变量的方式来初步分别查看两者存储方式。 成员变量 class A {int _a; };cout sizeof(A) endl;增加成员函数 class A {int _a;void Print(){cout _a endl;} };cout sizeof(A) endl;通过上述尝试我们不难发现成员函数的增加并没有使得类的大小增加所以成员函数并没有存储在类的内部 1.5.3 类大小的计算方式 类内资源的存储方式 成员函数不存储在类的内部在类内声明定义的函数实则定义在类外在类内的声明定义更类似一个声明的操作声明此函数为这个类的成员函数类的成员变量存储在类的内部遵循内存对齐的规则C语言结构体 class C {};特殊的空类的大小并不为空而是会有一个字节来标识其的存在 1.6 this指针 1.6.1 this指针的引入 经过学习我们知道成员函数的定义并不在类中那么成员函数是怎么分辨是哪一个实例化对象在调用它又是如何访问实例化对象的成员变量呢这里我们引入类成员函数中的一个隐藏参数this指针在C中其实编译器给每个非静态成员函数在定义时都赋予一个隐藏参数this指针该指针会默认指向调用它的实例化对象我们对于实例化对象中成员变量的访问其实都是通过它来实现的 1.6.2 this指针的特性 this指针的类型为自定义类的指针A*const这代表着此指针无法改变指向不允许被修改this指针只能够在成员函数的内部使用this指针本质上是函数的形参并不存储在类的内部this指针是“成员函数”第一个隐含的指针形参一般情况由编译器通过ecx寄存器自动传递 class A { public:int _a;void Print1(){cout _a endl;}void Print2(){cout this-_a endl;}void Print3(){cout *this._a endl;} }//三种调用方式本质相同 A a1; a1.a 10; a1.Print1(); a1.Print2(); a1.Print3();注 C中类的实现方法在本质上与C中结构体的实现并无不同只是C语言这些细节与过程需要我们自己调控而C中会由编译器来代为维护完成。C中还给类添加了访问限定符对类进行了封装提高了资源的安全性便利了我们的使用
http://www.w-s-a.com/news/674094/

相关文章:

  • 哈尔滨多语言网站建设wordpress分类链接
  • 购物网站项目介绍软件开发流程的五大步骤
  • 做的网站怎么放在网上2008 iis搭建网站
  • 网站维护服务公司上海兼职网站制作
  • 企业做网站需要多少钱湘潭九华网站
  • 嘉兴建站服务微营销官网
  • 比较好的网页模板网站浦项建设(中国)有限公司网站
  • 有趣的个人网站网页设计与制作的岗位职责
  • 有建设网站的软件吗长沙做网站的公司对比
  • 网站的外链接数中铝长城建设有限公司网站
  • 北京建设网站公司网站建设费用 无形资产
  • 适合seo的建站系统如何建立网页
  • 我想自己建立一个网站给大家分享个永久免费的云服务器
  • 怎样做网站和网站的友情链接官网优化 报价
  • 购买网站空间大小聊城网站空间公司
  • 做像美团淘宝平台网站多少钱开发网站企业
  • 网站建设前期费用二手购物网站策划书
  • dede学校网站百度联盟是什么
  • 献县网站建设网站开发专业定制
  • 龙华做网站yihe kj安徽六安彩礼一般给多少
  • flash网站建设公司我的小程序在哪里找
  • 建网站需要数据库吗如何制作简单的网页链接
  • 杭州设计企业网站高端公司上虞做网站公司
  • 做网站能赚钱么用wordpress搭建知名网站
  • 阿里云服务器网站开发青岛做网站找哪家
  • 凡科做的网站为什么打不开织梦cms仿某作文网站整站源码(带采集)安装数据库
  • 免费h5模板网站模板汽车报价网址
  • 蔡甸网站建设烟台网站建设yt
  • 最流行的网站开发新开的网页游戏平台
  • 暴富建站wordpress 标签分类