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

龙岗网站制作新闻陇南地网站建设

龙岗网站制作新闻,陇南地网站建设,深圳建设工程交易信息网,网站建设 事业单位 安全面向对象和面向过程编程初步认识 C语言是面向过程的#xff0c;关注过程#xff08;分析求解问题的步骤#xff09; 例如#xff1a;外卖#xff0c;关注点菜#xff0c;接单#xff0c;送单等 C是面向对象的#xff0c;关注对象#xff0c;把一件事拆分成不同的对象关注过程分析求解问题的步骤 例如外卖关注点菜接单送单等 C是面向对象的关注对象把一件事拆分成不同的对象对每个对象进行分别管理依靠对象之间的交互完成。例如外卖关注用户骑手商家三个核心对象三者交互完成这件事 文章目录 类的引入访问限定符类域类的大小sizeofthis指针构造函数析构函数拷贝构造 类的引入 在C语言中有结构体struct的概念C是兼容了struct在C语言中的用法同时增加了结构体中实现函数功能为了区别结构体C引入了新的关键字class——类 类中的内容是类的成员变量叫做成员变量或类的属性函数叫做成员函数或类的方法 C中类和结构体基本上的用法是相同的 注意 变量的定义是指开空间类中的成员变量都是声明对象实例化时才是定义 class Date {int _year;int _month;int _day; };这是一个简单的日期类 也可以写作 struct Date2 {int _year;int _month;int _day; };上述代码访问d1._year 报错了d2._year却没有 这就要说到访问限定符了 访问限定符 C有三种访问限定符publicprivateprotected 就是限制对类中的成员进行访问 public公有类里面和外面都可以使用 private私有只有类里面可以使用 protected 先不考虑 class 和 struct 的主要的区别就在这里 class 不加访问限定符就默认表示私有 struct 默认表示公有 这就是为什么上述代码报错加上public限定符修饰就可以在外面访问成员变量了 加上这样的修饰就可以访问了 public这样就是修饰为公有范围到下一个访问限定符或者结尾。 一般情况下成员变量都是私有的不希望直接访问或修改成员变量而是通过函数调用来修改 类域 我们想要对类中的函数进行声明定义分离该如何操作呢 看下面代码 class Date {public:void print();int _year;int _month;int _day; };void print() {_year 1, _month 1, _day 1;cout _year - _month - _day endl; }int main() {Date d1;d1.print();return 0; }上述打印功能函数会直接报错这里就要了解类域 类定义了一个新的作用域类的所有成员都在类的作用域中类外定义成员时需要使用 :: 操作 正确代码应该是 void Date::print() {_year 1, _month 1, _day 1;cout _year - _month - _day endl; }这样就可以了 类的大小sizeof 类中成员函数的功能都是一样的所以类里面只存成员变量成员函数存在一个公共的区域代码段每个对象里面都放成员函数太冗余了每创建一个类都为函数开辟空间太浪费 没有成员变量的类大小为 1byte为了表示这个对象存在过。 遵循结构体内存对齐规则空间换时间提高效率 this指针 上述打印日期时我们没有传入参数但是能打印出结果 class Date {public://构造函数初始化先不用管Date(int year 1, int month 1, int day 1){_year year;_month month;_day day;}void print(){cout this-_year - _month - _day endl;}int _year;int _month;int _day; };int main() {Date d1(2005, 8, 27);Date d2(2004, 8, 27);d1.print();d2.print();return 0; }运行结果如下 可以通过this指针来找到d1中的成员变量this指针编译时编译器会自动不上不写也可以但注意的时this在函数中可以使用不能传参。this指针相当于 d1this指针是形参对d1的拷贝存在于栈区 面向对象的三大特性封装继承多态 封装的本质是一种管控把数据和方法都放在类里面通过访问限定符对成员变量进行限制也更便于维护 先来看封装 构造函数 Date(int year 1, int month 1, int day 1){_year year;_month month;_day day;}上述代码中这个函数可以对日期类成员变量进行初始化。 这就是一个构造函数主要任务是初始化对象。 构造函数有以下几个特性 1、函数名与类名相同 2、无返回值 3、对象实例化时自动调用不需要自己操作 4、构造函数可以重载 5、如果没有写构造函数构造函数可以自动生成一个构造函数但是它不做任何事情 6、编译器自动生成的构造函数内置类型不做任何处理自定义类型去调用它的构造函数 无参数全缺省自动生成的都是默认构造函数一般建议提供全缺省构造函数 绝大多数情况下要自己写构造函数只要写了一个编译器就不会默认生成了一般构造函数写成全缺省的最方便 析构函数 析构函数清理资源 类名 1、没有返回值没有参数 2、函数结束自动执行析构函数清理资源 3、析构函数也可以默认生成功能和构造函数类似。 析构函数只有一个不能被重载 拷贝构造 拷贝构造函数 传参要传引用否则会无穷递归传参本身就会产生形参形参又要调用拷贝构造函数从而形成无限递归 拷贝构造是默认成员函数如果没有显示定义会默认生成拷贝构造函数 内值类型浅拷贝值拷贝 自定义类型调用拷贝构造函数 成员变量中有数组指针就需要进行深拷贝 默认生成的拷贝构造不能实现深拷贝
http://www.w-s-a.com/news/234281/

相关文章:

  • 主机屋网站在线做图片
  • 河南省城乡住房建设厅网站wordpress登陆密码
  • 漳州做网站的公司搭建网站多少时间
  • 网站开发实习计划模板微营销手机
  • 网站设计与制作是做什么工作免费封面设计在线制作生成
  • 网站开发的教学课程网站广告调词软件
  • 进下加强新闻宣传网站建设入门 做网站 书籍
  • 电商网站主题photolux wordpress
  • 周口专业做网站公司深圳市宝安区松岗街道邮政编码
  • 上海企业网站推广方法网络营销策划方案框架
  • 一流的常州网站建设机械加工网报价
  • 上海响应式网站建设公司seo课程总结
  • vs网站开发教程昆山普立斯特做的有网站
  • 柳州网站seo网站swordpress 输出内容
  • 网站设计制作电话多少网站流量下降
  • 沈阳做网站推广的公司唐山哪家做网站好
  • 国外著名网站建设公司WordPress破解怎样主题修复
  • 网站建设济南云畅网络广州电力建设有限公司网站
  • 查看公司信息的网站思特奇是外包公司吗
  • 制作企业网站的目的啥都能看的浏览器
  • 做网站可以用哪些语言如何进行网站运营与规划
  • 做效果图网站有哪些电子商城网站制作数据库
  • 小刘网站建设wordpress调用php文件上传
  • 建设银行对账网站网络营销广告案例
  • 做网站开票是多少个点的票wordpress扫码提交数据库
  • 织梦网站改版需要怎么做企业网站备案管理系统
  • 大规模网站开发语言宁夏建设职业技术学院网站
  • 寻花问柳专注做一家男人爱的网站北京展台设计制作
  • 中卫网站设计做自己的卡盟网站
  • 广州网站推广自助做网站人家直接百度能搜到的