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

php动态网站开发师工资北京搜索引擎优化主管

php动态网站开发师工资,北京搜索引擎优化主管,门户网站创新的方式有,网站主机做外挂1. 面向对象编程与面向过程编程的比较 我们一开始接触的C语言就是一门面向过程编程的语言,而C就是一门面向对象编程的语言。那么这两者有什么区别呢? 举个例子,就比如说点外卖,如果是C语言的话,那么在程序的编写过程…

1. 面向对象编程与面向过程编程的比较

我们一开始接触的C语言就是一门面向过程编程的语言,而C++就是一门面向对象编程的语言。那么这两者有什么区别呢?

举个例子,就比如说点外卖,如果是C语言的话,那么在程序的编写过程中更加注意于用户点外卖,商家接外卖,骑手送外卖。通过实现这几个过程来实现整个流程。但是如果说是C++的话,那么我们就会更加的看中用户,商家,骑手这三个类,即通过完善类来实现类与类之间的交互从而来实现整个流程。

2. 类的定义

class vector
{
public:........
private:.........
};​

这就是一个类的定义。当然,我们也可以把这个class换成struct。

我们不止可以在里面写上成员变量,我们更可以在里面写上函数(叫做成员函数),一般来说我们会把函数头和函数实现写在一起,因为更方便。

PS:C++里面更喜欢写成class。

class student
{
public:void getInformation(){cout<<_name<<endl;cout<<_age<<endl;cout<<_class<<endl;}private:int _age;string _name;string _class;
}

PS:感觉上面那个例子不够明显,就在举了一个。

3. 类的访问限定符及封装

3.1 访问限定符

如图所示,访问限定符包含了这三类,分别为public,protect和private。

1. public修饰的成员在类外可以直接被访问

2. protectedprivate修饰的成员在类外不能直接被访问(此处protectedprivate是类似的)

3. 访问权限作用域从该访问限定符出现的位置开始直到下一个访问限定符出现时为止

4. 如果后面没有访问限定符,作用域就到 } 即类结束。

5. class的默认访问权限为privatestructpublic(因为struct要兼容C)

PS:class和struct的区别是struct定义的类默认访问权限是publicclass定义的类默认访问权限是private

3.2 封装

封装,继承多态是C++语法上的三大特性,我们在这里就来介绍一下封装。

什么叫封装呢?封装本质上是一种管理,让用户更方便使用类。比如:对于电脑这样一个复杂的设备,提供给用户的就只有开关机键、通过键盘输入,显示器,USB插孔等,让用户和计算机进行交互,完成日常事务。但实际上电脑真正工作的却是CPU、显卡、内存等一些硬件元件。

class student
{
public:void getInformation(){cout<<_name<<endl;cout<<_age<<endl;cout<<_class<<endl;}private:int _age;string _name;string _class;
}

比如说在这个代码中,一个学生的年龄,名字和班级,我并不希望查询的人可以随意的访问并修改。所以我在这里把他设置为private,我只希望别人可以查看信息,所以我写了一个函数来允许别人通过这个函数来进行查看。

4. 类的作用域

一个类定义了一个新的作用域 ,类的所有成员都在类的作用域中 在类体外定义成员时,需要使用 :: 作用域操作符指明成员属于哪个类域。
class student
{
public:void getInformation()   private:int _age;string _name;string _class;
}
void student::getInformation()
{cout<<_name<<endl;cout<<_age<<endl;cout<<_class<<endl;
}

我们看,在这里就是通过在getInformation前面加上一个student::来表示这个函数是属于这个student类。

5. 类的实例化

用类创建对象的过程,称为类的实例化。
因为类实际上我们可以理解为图纸,在没有把类实例化前是无法使用这个类的。
一个类可以实例化出多个对象, 实例化出的对象 占用实际的物理空间,存储类成员变量。
class student
{
public:void getInformation(){cout<<_name<<endl;cout<<_age<<endl;cout<<_class<<endl;}private:int _age;string _name;string _class;
}

比如说在这个代码里面,student是无法直接使用的,要把它实例化成一个个学生的信息我们才可以通过getInformation()进行调用。

PS:一个类可以实例化多份对象。

5.1 类实例化后大小的计算

一个类的大小,实际就是该类中”成员变量”之和,当然要注意内存对齐。
注意空类的大小,空类比较特殊,编译器给了空类一个字节来唯一标识这个类的对象。

我们在这里要引入一个概念,叫做结构体内存对齐规则

1. 第一个成员在与结构体偏移量为0的地址处。

2. 其他成员变量要对齐到某个数字(对齐数)的整数倍的地址处。

注意:对齐数 = 编译器默认的一个对齐数 与 该成员大小的较小值。

VS中默认的对齐数为8

3. 结构体总大小为:最大对齐数(所有变量类型最大者与默认对齐参数取最小)的整数倍。

4. 如果嵌套了结构体的情况,嵌套的结构体对齐到自己的最大对齐数的整数倍处,结构体的整

体大小就是所有最大对齐数(含嵌套结构体的对齐数)的整数倍。

PS:之所以计算机没有直接堆着放是为了提高编译速度。想想看对齐了的话编译器就只要那几个位置就好,通过这种方式可以大大的提高编译速度。

6. this指针

6.1 什么是this指针

class student
{
public:void student(string name,int age,string class){    _name=name;_age=age;_class=class}void getInformation(){cout<<_name<<endl;cout<<_age<<endl;cout<<_class<<endl;}private:int _age;string _name;string _class;
}int main()
{student s1("小明",18,"一班");student s2("小红",19,"二班");s1.getInformation();s2.getInformation();return 0;
}

我们来看这个代码,相信很多人都可以看懂这份代码。那么我们有没有想过,在这份代码里面为什么 getInformation()可以识别s1和s2并对它们做出区分呢。

这里我们就要增加一个概念叫做this指针,这是一个并不用我们去写就会自己存在的一个指针,并且它的指向已经固定了。举个例子,我们在void student(string name,int age,string class)这个函数里面_name=name实际上是this._name=name,age和class也是同样的道理。所以,当我们调用s1的getInformation()的时候,编译器会自动访问s1里面的那个this指针。通过这样的方式来实现s1和s2的区分。

6.2 this指针的特性

1. this 指针的类型:类型 * const ,即成员函数中, 不能给this指针赋值
2. 只能在 成员函数 的内部使用
3. this 指针本质上是 成员函数 的形参 ,当对象调用成员函数时,将对象地址作为实参传递给this形参。所以 对象中不存储 this 指针
4. this 指针是 成员函数 第一个隐含的指针形参,一般情况由编译器通过 ecx 寄存器自动传
递,不需要用户调用

6.3 this指针本身的位置

this指针本身的存储位置并非固定的,如果说一个类的参数比较少的话那么系统或者说编译器就会把this指针存放在寄存器上,如果说类的参数比较多的话,那么会被放在栈上。

那么为什么shis要先寄存器在栈呢,这是因为寄存器传递速度快。

PS:99%的情况下this本身是存在栈上的。

http://www.dtcms.com/wzjs/80154.html

相关文章:

  • 房地产网站建设公司网站流量排名查询工具
  • 软件开发流程包括哪些网站设计优化
  • 软件外包公司的一生宁波怎么优化seo关键词
  • 贵阳网站建设q479185700惠免费发布信息网平台
  • 西安公司网站制作要多少钱自己的网站怎么样推广优化
  • 企业网站建设联系方式免费建立网站步骤
  • 哈尔滨建站模板厂家百度推广关键词匹配模式
  • 厦门网站建设哪家公司好搜索引擎收录入口
  • 旅游酒店网站建设百度搜索页
  • 阿里云网站访问不了怎么办2021年网络十大关键词
  • php网站开发和java吸引客人的产品宣传句子
  • 随州网站建设企业网站营销的优缺点
  • 连云港做网站制作今天最新的新闻
  • wordpress数据库内容调用富阳网站seo价格
  • 福永营销型网站多少钱网站优化排名技巧
  • 做网站花都区爱站工具
  • 模板网站开发营销便民信息微信平台推广
  • 网站开发语言选择注册google账号
  • 中国八冶建设集团网站企业中层管理人员培训课程
  • 宁波 做网站的网络推广官网首页
  • 网站注册页面怎么做数据验证百度识图搜索引擎
  • 杭州网站建设优化程序员培训班要多少钱
  • dw做的网站怎么全屏网站可以自己建立吗
  • 公司注册地址可以跨市变更吗东莞搜索优化
  • 南京软件定制应用商店aso优化
  • 网站建设的技术要求打开百度
  • 厦门某某公司网站广州网站优化系统
  • 多语网站亚马逊排名seo
  • 邢台专业做网站公司最新国际足球世界排名
  • 做测试日本网站国内真正的免费建站