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

广州企业网站哪家好专业公司网站建设服务公司

广州企业网站哪家好,专业公司网站建设服务公司,网站pv怎么统计,wordpress游客登录可见类和对象——上 目录#xff1a;一、面向过程和面向对象二、类的概念三、类的访问限定符和封装3.1 访问限定符3.2 封装 四、类的作用域五、类的实例化六、类的对象大小的计算七、类成员函数this指针7.1 this指针的引用7.2 this 指针的特性 目录#xff1a; 类和对象是很重要… 类和对象——上 目录一、面向过程和面向对象二、类的概念三、类的访问限定符和封装3.1 访问限定符3.2 封装 四、类的作用域五、类的实例化六、类的对象大小的计算七、类成员函数this指针7.1 this指针的引用7.2 this 指针的特性 目录 类和对象是很重要的知识点对于初学者也不容易理解。希望大家多学几遍搞懂内容在进一步学习下一步的内容学习c就得一步一步来打好基础稳定向前。 一、面向过程和面向对象 C语言是面向过程的关注的是过程分析求出解决问题的步骤通过函数调用逐步解决问题。 c是面向对象的关注的是对象将一件事情拆分为不同的对象靠对象之间交互完成。 二、类的概念 1.类的引用 1.c兼容c结构体的用法 2.c把结构体升级成了类类名就是类型可以用class代替。 3.类是一个整体有成员变量和成员函数并且位置任意。 4.struct默认公有class默认私有。 5.类是一个整体不需要定义在前面或者后面。 2.类的定义 class为定义类的关键字Classname为类的名字{}中为类的主体注意类定义后面分号不能省略。 类主体的内容称为类的成员类中的变量叫成员变量函数称为成员函数。 类的两种定义方法 1.声明和定义全部在类体中。 #include iostream using namespace std; class PerSon { public://公有得//成员函数void person(){cout 姓名:p endl;} private://私有得// 成员变量:char* _name;//姓名char* _sex;//性别int _age;//年龄 };2.类声明放在.h文件中成员函数定义在cpp文件中成员函数名前需要加类名。 类声明和定义分离 注意 1.默认在类里面定义的函数为内联函数inline这个由编译器决定是不是内联。 2.正确的用法;长的函数声明和定义分离短小的函数可以直接在类里面定义编译器决定内联函数。 三、类的访问限定符和封装 c实现封装的方式: 用类将对象的属性和方法结合在一块让对象更加完善通过访问限定符选择性的将接口提供给外部的用户使用。 3.1 访问限定符 [访问限定符说明]: public修饰的成员在类外可以直接被访问protected和private修饰的成员在类外不能直接被访问(此处protected和private是类似的)访问权限作用域从该访问限定符出现的位置开始直到下一个访问限定符出现时为止如果后面没有访问限定符作用域就到}即类结束。class的默认访问权限为private, struct为public(因为struct要兼容C) 注意:访问限定符只在编译时有用当数据映射到内存后没有任何访问限定符上的区别 [面试题]: 问题: C中struct和class的区别是什么? 解答: C需要兼容C语言所以C中struct可以当成结构体使用。另外C中struct还可以用来定义类。和class定义类是一 样的区别是struct定义的类默认访问权限是public, class定义的类默认访问权限是private。 注意:在继承和模板参数列表位置struct和class也有区别。 3.2 封装 面向对象的三大特征封装、继承、多态。 封装本质上是一种管理让用户更方便使用类。 **封装**将数据和操作数据的方法进行有机结合通过访问限定符隐藏对象的属性和实现细节仅使用对外公开的接口来和对象进行交互。 四、类的作用域 **类定义了新的作用域**类的所有成员都在作用域中。在类外定义成员时需要用到作用域操作符指明成员属于哪个类域。 五、类的实例化 用类类型创建对象的过程称为类的实例化 类是对对象进行描述的相当于一个模型成员变量是声明限定了类有哪些成员定义一个类并没有给它分配实际的内存空间来存储它。 2.一个类可以实例化出多个对象实例化出的对象占用实际的物理空间存储了类的成员变量。 3.类只是一个设计实例化出的对象才能存储数据占用物理空间。 分析如下 总结不同对象成员函数调用的地址一样数据不存对象里成员变量存数据不一样存在各自的对象里 六、类的对象大小的计算 1.类对象的存储方式 类中既可以有成员变量也可以有成员函数。类里面只存成员变量不存成员函数 为什么成员变量在对象中成员函数不在对象中 一个类分为成员变量和成员函数类的大小是由成员变量来决定得。这是因为每个对象的成员变量是不一样得需要独立存储而每个对象调用成员函数是一样的都是放在共享公共区域代码段里。 2.类的大小计算 一个类的大小实际上是该类“成员变量”之和要注意内存对齐要注意空类的大小空类比较特殊编译器给空类一个字节用来唯一标识这个类的对象这个1byte不存储有效数据是用来占位得占位的意思是标识这个对象被实例化出来了。 #include iostream using namespace std; //即有成员变量又有成员函数 class A1 { public:void f1(){}; private:int a;char b;short c; }; //只有成员变量 class A2 { private:int a;char b;short c; }; //只有成员函数 class A3 { public:void f1(){}; }; //没有成员函数也没有成员变量 class A4 {//空 }; int main() {cout sizeof(A1) endl;cout sizeof(A2) endl;cout sizeof(A3) endl;cout sizeof(A4) endl;return 0; }结构体的内存对齐规则 1.第一个成员在与结构体偏移量为0的地址处。 2.从第二个成员开始成员变量要对齐到对齐数的整数倍的地址处。 注意对齐数编译器默认的一个对齐数与该成员大小的较小值VS中默认对齐数为8. 3.结构体总大小为最大对齐数所有变量类型最大者与默认对齐参数取最小的整数倍。 4.嵌套结构体嵌套的结构体对齐到自己的最大对齐数的整数倍结构体的整体大小就是所有最大对齐数含嵌套结构体的对齐数的整数倍。 七、类成员函数this指针 this指针可以用来确定不同对象的成员函数每个成员都有隐形的指针。 7.1 this指针的引用 C中通过引入this指针解决了不同对象相同类调用成员函数对象如何找到自己的成员函数的问题 C编译器给每个“非静态的成员函数增加了一个隐藏的指针参数让该指针指向当前对象(函数运行时调用该函数的对象)在函数体中对所有“成员变量”的操作都是通过该指针去访问。只不过所有的操作对用户是透明的即用户不需要来传递编译器自动完成。 7.2 this 指针的特性 1. this指针的类型:类的类型* const ,即成员函数中不能给this指针赋值。 2. 只能在成员函数”的内部使用。 3. this指针本质上是“成员函数”的形参 当对象调用成员函数时将对象地址作为实参传递给this形参。所以对象中不存储this指针。 4. this指针是“成员函数第一个隐含的指针形参 一般情况由编译器通过ecx寄存器自动传递不需要用户传递。 扩展 #include iostream using namespace std; class A { public://公有void Print(){cout Print() endl;}private://私有int _a;}; int main() {A* s1nullptr;s1-Print();return 0; }#include iostream using namespace std; class A { public://公有void Print(){cout this- _a endl;} private://私有int _a;}; int main() {A* s1 nullptr;s1-Print();return 0; }仔细观察这两段代码第一个正常运行第二个运行崩溃。 1.this指针存在哪里 this指针是个形参是存在栈帧上面得是隐含形参。VS编译环境下this指针存在函数栈帧中的寄存器里 2.this指针可以为空吗 在特定条件下可以为空 成员函数地址不在对象里成员变量在对象里对象为空只调用成员函数且不需要用到隐含this指针时就能正常运行。 补充 c语言和c的使用特点 C语言结构体中只能定义存放数据的结构操作数据的方法不能放在结构体中数据和操作数据的方法是分离开的实现上相当复杂涉及大量指针操作很容易出错。 cc通过类可以将数据以及操作数据的使用方法进行完美结合通过权限访问可以控制这些方法在类外可以被调用这就是封装。 c中Stack* 参数是编译器维护C语言中需要用户自己维护。 总结 C语言1.数据和方法是分离的。 2数据访问控制是自由的不受限制。 c1.数据和方法都封装到类里面。2.控制访问方式。愿意给你访问就是公有不愿意给你访问就是私有。 C语言和c的底层都在代码段里区别就是对数据的管理不同。
http://www.yutouwan.com/news/311212/

相关文章:

  • 廊坊哪些公司做网站91福利社区wordpress
  • 源码网站制作教程在aws上安装WordPress
  • 深圳东莞网站建设长沙债务优化公司
  • 崇左网站建设公司微信公众号图文模板免费下载
  • 无锡优化网站公司yahoo搜索
  • 建站网站官方招聘免费发布平台
  • gif表情包在线制作网站山西省网站建设
  • 郑州网站建设找汉狮com域名注册量
  • 梦里做他千百度网站深圳华强做网站
  • 宿迁网站建设哪家专业建设厅考试成绩查询
  • 宝山专业网站建设创建app与网站的区别
  • 祥云平台网站建设在谷歌上做网站广告要多少钱
  • 贵州网站建设营销公司做影视网站能赚到钱吗
  • 如何做一个内部网站商丘峰少seo
  • 哪里有网站开发公司做企业网站流程
  • 家具行业网站整站模板应用公园app在线制作平台官网
  • 河西做网站网站访问权限
  • 建设工程有限公司网站网站开发php工资
  • 风车网站做花盆磨具陕西省煤炭建设第一中学官方网站
  • 电子商务网站建设的目的是开展网络营销做网站的公司利润
  • 类似淘宝网站建设费用wordpress内容搬家
  • 抚顺市+网站建设腾讯云免费云服务器
  • 沈阳网站制作公司排名桂林游漓江
  • wordpress 网站迁移gif制作软件app
  • 汕头网站建设设计公司软件开发项目管理书籍
  • 上饶婚纱工作室网站建设坪山城市建设局官方网站
  • 东莞网站建设seo网站建设兆金手指排名
  • 吉林省建设厅网站查询中铁建设集团有限公司在哪
  • 南通网站建设项目建个网站做外贸
  • 北京网站排行东莞平面设计