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

网站开发服务石家庄求职信息网

网站开发服务,石家庄求职信息网,广州seo公司官网,电器企业网站建设目录 1. 什么是类 2. 如何定义出一个类 3. 类的访问限定符 4. 类的作用域 5. 类的实例化 6. 类的大小 7. this指针 1.this指针的引出 2. this指针的特性 8. 面试题 1. 什么是类 在C语言中#xff0c;不同类型的数据集合体是结构体。为了方便管理结构体#xff0c;我…目录 1. 什么是类 2. 如何定义出一个类 3. 类的访问限定符 4. 类的作用域 5. 类的实例化 6. 类的大小 7. this指针 1.this指针的引出 2. this指针的特性 8. 面试题 1. 什么是类 在C语言中不同类型的数据集合体是结构体。为了方便管理结构体我们经常会为此而编写出各种针对于这个结构体的函数(如在C语言中为了方便管理顺序表我们经常为此写出许多针对于该顺序表的增删查改的函数)。为了方便管理数据集合体以及针对于该数据集合体的函数。我们将它们都打包起来将函数作为成员一起纳入了该数据集合体中。此外这也方便了我们对变量和函数进行命名。 2. 如何定义出一个类 class className { // 类体由成员函数和成员变量组成 };  // 一定要注意后面的分号 class 为 定义类的 关键字 ClassName 为类的名字 {} 中为类的主体注意 类定义结束时后面 分 号不能省略 。 类体中内容称为 类的成员 类中的 变量 称为 类的属性 或 成员变量 ; 类中的 函数 称为 类的方法 或者 成员函数 。 值得注意的是 类的定义有两种。第一种是类中的成员函数在类当中定义第二种是类中的成员函数在类当中声明在其他文件中定义。 如 在实际当中我们定义一个类经常都是采用声明定义分离的方法。当然了你也可以部分简单的函数在类中定义其余的函数在其他文件定义。 3. 类的访问限定符 C 实现封装的方式 用类将对象的属性与方法结合在一块让对象更加完善通过访问权限选 择性的将其接口提供给外部的用户使用。 【访问限定符说明】 1. public 修饰的成员在类外可以直接被访问 2. protected 和 private 修饰的成员在类外不能直接被访问 ( 此处 protected 和 private 是类似的 ) 3. 访问权限 作用域从该访问限定符出现的位置开始直到下一个访问限定符出现时为止 4. 如果后面没有访问限定符作用域就到 } 即类结束。 5. class 的默认访问权限为 private struct 为 public( 因为 struct 要兼容 C) 注意访问限定符只在编译时有用当数据映射到内存后没有任何访问限定符上的区别 4. 类的作用域 类定义了一个新的作用域 类的所有成员都在类的作用域中 。 在类体外定义成员时需要使用 :: 作用域操作符指明成员属于哪个类域。 class Person { public:void PrintPersonInfo(); private:char _name[20];char _gender[3];int  _age; };// 这里需要指定PrintPersonInfo是属于Person这个类域 void Person::PrintPersonInfo() {cout _name _gender _age endl; } 5. 类的实例化 用类这个类型创建对象的过程称为类的实例化 class Person { private:int _age;char _name[20]; public:print(); };int main() {Person a;return 0; } 以上就称为类的实例化。 值得注意的是类是没有内存空间的只有实例化后的类才有内存空间。类就好比一个房子的建造图纸实例化后的类就是建好后的房子。还没开始建造的房子当然无法使用。因此再未实例化之前你是无法使用类的。 int main() {Person._age 100;   // 编译失败error C2059: 语法错误:“.”return 0; } 6. 类的大小 类的内存依旧是遵循内存对齐的机制值得注意的是一个实例化后的类的内存是与其成员函数没有关系的(它的成员函数储存在代码段中)。因为如果每个对象中都会保存一份代码而所有的类的成员函数都是一模一样的相同代码保存多次浪费空间。 7. this指针 1.this指针的引出 我们先来定义一个日期类 Date class Date { public:void Init(int year, int month, int day){_year year;_month month;_day day;}void Print(){cout _year - _month - _day endl;} private:int _year;     // 年int _month;    // 月int _day;      // 日 };int main() {Date d1, d2;d1.Init(2022,1,11);d2.Init(2022, 1, 12);d1.Print();d2.Print();return 0; } 对于上述类有这样的一个问题 Date 类中有 Init 与 Print 两个成员函数函数体中没有关于不同对象的区分那当 d1 调用 Init 函 数时该函数是如何知道应该设置 d1 对象而不是设置 d2 对象呢 C 中通过引入 this 指针解决该问题即 C 编译器给每个 “ 非静态的成员函数 “ 增加了一个隐藏 的指针参数让该指针指向当前对象 ( 函数运行时调用该函数的对象 ) 在函数体中所有 “ 成员变量 ” 的操作都是通过该指针去访问。只不过所有的操作对用户是透明的即用户不需要来传递编 译器自动完成 。 2. this指针的特性 1. this 指针的类型类类型 * const 即成员函数中不能给 this 指针赋值。 2. 只能在 “ 成员函数 ” 的内部使用 3. this 指针本质上是 “ 成员函数 ” 的形参 当对象调用成员函数时将对象地址作为实参传递给 this 形参。所以 对象中不存储 this 指针 。 4. this 指针是 “ 成员函数 ” 第一个隐含的指针形参一般情况由编译器通过 ecx 寄存器自动传 递不需要用户传递 8. 面试题 1. this 指针存在哪里 2. this 指针可以为空吗 // 1.下面程序编译运行结果是 A、编译报错 B、运行崩溃 C、正常运行 class A { public:void Print(){cout Print() endl;} private:int _a; };int main() {A* p nullptr;p-Print();return 0; }// 1.下面程序编译运行结果是 A、编译报错 B、运行崩溃 C、正常运行 class A { public:void PrintA(){cout _a endl;} private:int _a; };int main() {A* p nullptr;p-PrintA();return 0; }
http://www.dnsts.com.cn/news/232121.html

相关文章:

  • 做网站必须购买空间吗百度网页推广费用
  • 网站建设经费计划内容哪些网站可以加锚文本
  • 国外企业网站怎么做电脑网站设计页面
  • 合肥网站建设模板系统wordpress图片主
  • 深圳网站建设龙华信科为企业规划一个网站
  • 稻壳网站建设wordpress保存的字体大小
  • 海尔建设此网站的目的是什么意思网站中的搜索功能怎么做的
  • 官方网站建设公司上海百度移动关键词排名优化
  • 杭州网站制作模板安徽网站推广
  • 自助建站哪个网站好在线画图网页版
  • 山西建设银行官方网站做的网站错位怎么办
  • 短视频网站开发教程快速开租建站
  • 凡科网站建设平台好么软文营销的概念
  • 通江县住房和城乡建设局网站十条网站建设的seo策略
  • 网站的开发建设要做什么成都龙泉建设发展有限公司网站
  • 国内做网站装饰网站建设网
  • 网站开发的书企业官网运营
  • 给别人做金融网站 犯法吗网上注册公司核名流程
  • 建设网站的岗位杭州网站设计哪家公司好
  • 网站类型有哪些前端做网站需要
  • 网站开发专业就业培训学校建工网校app
  • 笑话网站域名桂林网站搭建
  • 国家工商局网站官网城乡建设行业证书查询
  • 电影网站怎么做关键词中企动力网站
  • 三都网站建设wordpress 设置icon
  • ae如何做视频模板下载网站重庆网站建设学习
  • 山东网站建设系统嘉定集团网站建设
  • 利用已有网站 制作购物网站建设策划书
  • 东山网站建设网站域名更改
  • 怎么创建网站充值和提现账号wordpress 正在建设插件