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

网站地图在线生成器四川建设学习网官网

网站地图在线生成器,四川建设学习网官网,首次登录 e账户客户登录,为什么无法再社保网站上做减员C语言是面向过程的&#xff0c;C是面向对象的&#xff0c;利用对象交互&#xff0c;接口完成事情。 类的定义&#xff1a; 我们在C语言中可以用struct创建自定义结构体&#xff0c;在C中可以在结构体中定义函数了&#xff0c;这种就被称为类。 #include<iostream> usi…

C语言是面向过程的,C++是面向对象的,利用对象交互,接口完成事情。

类的定义:

我们在C语言中可以用struct创建自定义结构体,在C++中可以在结构体中定义函数了,这种就被称为类。

#include<iostream>
using namespace std;class Data
{
public:void Print(int day, int month, int year)//成员函数{cout << year << " " << month << " " << day << endl;}private:int _day;//成员变量int _month;int _year;
};

上述就是一个简单的类,可以用class或者struct,我们一般是用class。 

需要注意的是,成员函数如果在类里声明和定义可能会被编译器当作内联函数处理,所以一般我们在类里面定义函数声明,在另一个文件里定义函数(函数前需要加 Data::之类的类名)。

注意成员变量命名的时候也建议加个前缀之类的。

类定义了一个新的作用域,所有的成员都在类作用域里,在类外定义成员,需要使用  :: 作用域操作符。

类的访问限定符:

我们看到上面有 private 之类的符号,这些被称为访问限定符。

 公有修饰的成员可以在类外被访问,其他两个都不能在类外被访问(保护在继承才涉及)。

class的默认访问权限是私有的,而struct是公有的。

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

封装:

C++中有了访问限定符,不得不提面向对象的三大特性:封装,继承,多态。

封装本质是一种管控,这里只是封装的一部分,将类的内部隐藏起来,仅对外公开接口来和对象进行交互。

实例化:

用类创建对象的过程叫做实例化,类是一个类似模型的东西,在没有实例化之前是没有分配实际的内存空间的,一个类是可以实例化多个对象,实例化出的对象分配实际的内存空间,存储类成员变量。

today就是用Data类实例化出的对象,只有对象才可以用Print函数。

类对象存储模式:

一个类中既有成员变量,也有成员函数,那么类对象中到底是怎么存储这些的?

所以是只保存成员变量,成员函数存储在公共的代码段里。

所以一个类的大小,其实就是该类中成员变量之和,和结构体差不多,也有内存对齐。(注意空类的大小,编译器给了空类一个字节来唯一标识这个类的对象)。

this指针:

class Data
{
public:void Print(){cout << _year << " " << _month << " " << _day << endl;}private:int _day = 24;//缺省值,成员变量也可以设置缺省值int _month = 4;int _year = 2025;
};int main()
{Data today;today.Print();
}

我们能看到上述代码,Print函数没有形参,但是还是可以打印出 today 的成员变量,但是函数是怎么知道打印的是 today 对象的成员变量呢。

原因就是因为C++给每个非静态的成员函数增加了一个隐藏的指针参数,让指针指向当前对象(函数运行时调用的对象),在函数体中所有成员变量的操作,都可以提高该指针去访问,只不过所有的操作都是透明的,不用用户传递,编译器自动完成。

this指针特性:

1.this的类型:类类型* const,成员函数不可以给this赋值。

2.只能在成员函数内部使用

3.this指针本质上是成员函数的形参,所以对象中不存储this指针。

4.this指针是成员函数第一个隐含的指针形参,一般情况由编译器通过ecx寄存器自动传递,不需要用户传递。

5.this指针存在栈上,因为他是形参(有些编译器可能会存储在寄存器)

提出一个疑问:this指针可以是空吗?可以


文章转载自:

http://E1xArEFf.tgmfg.cn
http://f1xNnqFy.tgmfg.cn
http://RitVMl8E.tgmfg.cn
http://FnmBGErX.tgmfg.cn
http://UW9EuIO3.tgmfg.cn
http://EkieNg4N.tgmfg.cn
http://x9hG7en7.tgmfg.cn
http://o19e338x.tgmfg.cn
http://tWohpNok.tgmfg.cn
http://d9jR4fS4.tgmfg.cn
http://7JnJkU3a.tgmfg.cn
http://Dl5jbdEO.tgmfg.cn
http://MrhO4iCJ.tgmfg.cn
http://VvIqTy6d.tgmfg.cn
http://GzGG5K9f.tgmfg.cn
http://o8jwUmYY.tgmfg.cn
http://PUXI39mK.tgmfg.cn
http://HCK0ZFYe.tgmfg.cn
http://bXCEMIKo.tgmfg.cn
http://ApXZCerK.tgmfg.cn
http://jvH7l9R9.tgmfg.cn
http://oQzVFnT6.tgmfg.cn
http://OrIutFfB.tgmfg.cn
http://4GhX6zN5.tgmfg.cn
http://f5xYhO1j.tgmfg.cn
http://y2YTbnmY.tgmfg.cn
http://ynAD2qsq.tgmfg.cn
http://NR39kPc1.tgmfg.cn
http://pi2cx3HH.tgmfg.cn
http://YqVf3Kyj.tgmfg.cn
http://www.dtcms.com/wzjs/627630.html

相关文章:

  • 网站安全建设总结报告环保工程网站建设价格
  • 门户网站建设管理工作方案廊坊建站
  • 发软文的网站吉林省建设工程造价信息网
  • 网站301重定向代码小程序app系统开发
  • 新乡微信网站建设文字类wordpress主题
  • 织梦cms怎样做网站logo库官网
  • 惠州网站建设企业百度seo排名优化技巧分享
  • 弱电网站源码wordpress读取相册
  • 网站建设关键词排名优化好看的博客页面
  • 网站设计公司上海帝国cms网站搬家
  • 公司网站建设需推广学校网站建设培训方案
  • 上海 响应式网站公司泊头市有做网站的吗
  • 电影采集网站流量免费企业邮箱号有哪些
  • 江西网站开发公司电话wordpress 做思维导图
  • 长春市规划建设局网站查询如何做能切换语言的网站
  • 济宁培训网站建设淘宝官网首页入口手机
  • 上海国际建设总承包公司网站中国站长网站
  • 怀宁做网站培训ui设计公司
  • 公司做网站需要哪些手续文本网站开发英文文献
  • 湿地公园网站开发招标网站收录差
  • 中山精品网站建设渠道做视频网站源码
  • 网站建设对用户影响百度官网网址
  • Wordpress djongo南宁外包seo服务
  • 网站建设与维护案例江苏省建设考试培训网站
  • 中山网站建设技术深圳电商网站设计公司
  • 绥化建设局网站360客户如何做网站推广
  • wordpress趣味插件seo服务器优化
  • 织梦网站后台打开空白WordPress农产品
  • 凡科网站建设怎么样wordpress doaction
  • 昆明智能网站推广价格wordpress 后门软件