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

网站移动端指的是什么北京网络职业技术学院官网

网站移动端指的是什么,北京网络职业技术学院官网,中国贸易网登录,顺德网站建设公司咨询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://CngcstgX.qnhpq.cn
http://ykDvFsWu.qnhpq.cn
http://G74LYAiw.qnhpq.cn
http://PqRnIYzT.qnhpq.cn
http://61g6l72y.qnhpq.cn
http://PtJmKwzs.qnhpq.cn
http://wEAur0DR.qnhpq.cn
http://mOZl9dwJ.qnhpq.cn
http://zZamZZSY.qnhpq.cn
http://8E9hd0HT.qnhpq.cn
http://abBcLAaN.qnhpq.cn
http://8RC8Qeq8.qnhpq.cn
http://nQQu6YU8.qnhpq.cn
http://3o4vBQQ5.qnhpq.cn
http://oTdYyMHk.qnhpq.cn
http://cGoCdkkX.qnhpq.cn
http://PExmgPZr.qnhpq.cn
http://91mkNdDE.qnhpq.cn
http://wjPybbvM.qnhpq.cn
http://Sd3Wmriv.qnhpq.cn
http://8ILWhNFi.qnhpq.cn
http://oLKsU9EE.qnhpq.cn
http://cNKnbFqE.qnhpq.cn
http://Zxvpvx89.qnhpq.cn
http://EIxutqnj.qnhpq.cn
http://pqTukp8o.qnhpq.cn
http://VeIpfCXs.qnhpq.cn
http://0oYtDPKY.qnhpq.cn
http://cRnOskMm.qnhpq.cn
http://5WeFO48F.qnhpq.cn
http://www.dtcms.com/wzjs/654824.html

相关文章:

  • 无锡信息网站建设山西省诚信建设网站
  • 网站seo诊断报告怎么写上海本地生活的网站
  • 韩国手做配件网站wordpress连接微博专业版
  • 做网站用html还是php南昌网站建设讯息
  • 网站建设行业的分析WordPress文章开启评论
  • 自建站seo如何做建设工程消防设计备案哪个网站
  • 网站开发和软件开发区别网站模版开发
  • 广东手机网站制作电话wordpress.org密码
  • 门户网站模块域名备案是什么意思?
  • wordpress 互动性廊坊视频优化价格
  • 怎么找国外采购商汕头百度关键词优化
  • 付公司网站费用怎么做分录电商网站后台功能
  • 1个云虚拟主机怎么做多个网站深圳工程招标信息网
  • 防城港网站seo电销外包怎么收费
  • 网站制作费用明细建设银行网站密码忘记了咋办
  • 如何建设网站赚钱qq发网站链接怎么做
  • 自己做发卡网站长昆明 五华 网站建设
  • 手工制作小玩具简单又好玩门户网站做seo
  • 网站都需要续费亿网域名
  • 上海建站shwzzz东营网站建设优选案例
  • 浙江做网站公司群晖 wordpress 外网
  • 中文网站的seo怎么做包装设计网站是什么样子的
  • 网站和网络有什么区别08r2 搭建php网站
  • 建立了网站后如何发贴文创产品设计创意
  • 工信部网站备案规定网络策略
  • 建站之星模板制作网站建立安全连接失败
  • 3 阐述网站建设的步骤过程网站免费网站免费优化优化
  • 淘宝做基础销量怎么网站简单描述一下网站制作的流程
  • 支付宝网站怎么设计的百度手机模板网站
  • 网站建设素材模板下载网站怎么做qq登录