广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >php与c++不同之处是什么
  • 533
分享到

php与c++不同之处是什么

2023-06-22 01:06:55 533人浏览 独家记忆
摘要

这篇文章将为大家详细讲解有关PHP与c++不同之处是什么,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。php与c++不同之处有:1、PHP是在服务器端执行的脚本语言,而C++是C语言的继承;2、PHP中不

这篇文章将为大家详细讲解有关PHPc++不同之处是什么,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

php与c++不同之处有:1、PHP是在服务器端执行的脚本语言,而C++是C语言的继承;2、PHP中不支持C++中的重载;3、关于abstract和interface的使用不同;4、PHP是弱类型语言,所以PHP的多态性不像C++明显等等。

本文操作环境:windows7系统,PHP7.4版,Dell G3电脑。

区别:

一个有protected成员变量(假设为i)的类型Base,他的子类Derived直接继承自Base,同时Derived有一个成员函数func,他的参数是Base类型的,这个函数可以访问Base对象的protecte的成员吗?在C++中不可以,而在PHP中可以。

  • 关于重载:

PHP中不支持C++中的重载,重新定义个函数(不管是参数相同还是不同,都会导致重复定义错误)。PHP有自己的重载方法,而且比C++中的更广泛,他不仅可以重载函数(通过使用__call()方法),还可以重载成员变量(通过使用__get()和__set())。而C++中只能对函数进行重载,而且重载的方法只有:不同的参数类型,不同的函数修饰符(const)。

  • 关于abstract和interface

PHP中有这两个修饰符,因为PHP不支持对一个普通类的多继承,因此interface用于实现多继承。Abstract类在C++中也存在,只是实现方式不一样,C++中使用pure virtual函数来表明这个类是抽象类,不能单独被实例化。而PHP中不仅可以使用函数的修饰符abstract(另外class前也必须标明abstract)来标明这个意思,也可以只使用abstract修饰符修饰class更直接的表明他是抽象类。另外, C++中的pure virtual函数不受访问类型的限制,不管是什么访问类型,都会被看作是public;而php中的abstract函数不能被声明成private,仅此而已。

  • 多态

因为PHP是弱类型语言,所以他的多态性到处都有体现,导致他的多态性不像C++中那么明显。比如,在PHP中基类的函数可以看作全是virtual的,因此它不需要加任何修饰符,子类中和基类同名的函数都会被动态调用,而C++不一样,如果基类中的这个函数没有加virtual修饰符,子类中的那个同名函数就不会被动态调用,只能静态调用了。

  • 操作符重载

PHP中不存在,而C++存在。重点在==操作符,在PHP中他可以运用在任何类型上,即使这个类型没有(像C++中一样)写自己的==重载函数。PHP中对于对象的比较,==表示两个对象的属性和值都一样,而且类型也一样;PHP也存在一个===操作符,表示他们引用了同一个对象,这跟java中很像吧。

  • final关键字

PHP中存在这个关键字,表示这个函数不能被重写(如果他用来修饰函数),或者类不能被继承(如果用类修饰class)。而C++中没有这个关键字,也无法模拟出那个效果。

  • 对象赋值和拷贝

C++中的拷贝或者赋值大致有这三种方式。

一种是指针的赋值,即p1 = &obj,相当于PHP和java中的赋值操作;

另一种是memberwise assignment,也就是在obj1 = obj2时发生的事情,默认情况下执行浅度拷贝,和PHP中clone的效果一样。他可以通过重载赋值拷贝操作来执行你的深度拷贝或者其他自定义的拷贝,这就相当于PHP中的__clone()成员函数;

第三种是memberwise initialization,也就是在参数传递时,传递返回值时或者包含对象的容器初始化的时候自动运行的,你可以通过自己定义拷贝构造函数来控制它的效果。

拷贝构造函数在PHP中几乎用不到,因为他的传递是完全按引用传递,而不是对象的直接拷贝。

PHP简介:

PHP(PHP: Hypertext Preprocessor)即“超文本预处理器”,是在服务器端执行的脚本语言,尤其适用于web开发并可嵌入html中。PHP语法学习了C语言,吸纳Java和Perl多个语言的特色发展出自己的特色语法,并根据它们的长项持续改进提升自己,例如java的面向对象编程,该语言当初创建的主要目标是让开发人员快速编写出优质的WEB网站。 [1-2]  PHP同时支持面向对象和面向过程的开发,使用上非常灵活。

C++简介:

C++是C语言的继承,它既可以进行C语言的过程化程序设计,又可以进行以抽象数据类型为特点的基于对象的程序设计,还可以进行以继承和多态为特点的面向对象的程序设计。C++擅长面向对象程序设计的同时,还可以进行基于过程的程序设计,因而C++就适应的问题规模而论,大小由之。

C++不仅拥有计算机高效运行的实用性特征,同时还致力于提高大规模程序的编程质量与程序设计语言的问题描述能力。

关于“php与c++不同之处是什么”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

--结束END--

本文标题: php与c++不同之处是什么

本文链接: https://www.lsjlt.com/news/301902.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • php与c++不同之处是什么
    这篇文章将为大家详细讲解有关php与c++不同之处是什么,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。php与c++不同之处有:1、PHP是在服务器端执行的脚本语言,而C++是C语言的继承;2、PHP中不...
    99+
    2023-06-22
  • php与c++不同之处有哪些
    本文操作环境:Windows7系统,PHP7.4版,Dell G3电脑。php与c++不同之处有哪些区别:一个有protected成员变量(假设为i)的类型Base,他的子类Derived直接继承自Base,同时Derived有一个成员函数...
    99+
    2018-04-18
    php c++
  • C#与其他编程语言有什么不同之处
    C#(C Sharp)是一种面向对象的编程语言,由微软公司开发。与其他编程语言相比,C#在语法、特性和应用领域上有一些不同之处。下面将详细介绍C#与其他编程语言的不同之处。1. 语法和结构:C#的语法和结构类似于C和C++,但相对于这两种语...
    99+
    2023-10-22
    C#类 C#基础知识 C ​​编程
  • Java与C#的不同之处有哪些
    Java与C#的不同之处有哪些,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。关于类的理解重载访问器(Accessors——Getters)和修改器(Mutators——Se...
    99+
    2023-06-17
  • Ajax入门之GET与POS有什么不同处
    小编给大家分享一下Ajax入门之GET与POS有什么不同处,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!在之前的随笔中,本着怀旧的态度总结了一篇 兼容不同浏览器 建立XHR对象的方法:&n...
    99+
    2022-10-19
  • Go语言与C语言有哪些不同之处
    这篇文章将为大家详细讲解有关Go语言与C语言有哪些不同之处,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。C 的语法首先,先看看 C 的语法。C 采用了一种聪明而不同寻常的声明语法。声明变量时,只需写出一个...
    99+
    2023-06-16
  • 云主机和vps的不同之处是什么
    云主机和vps的不同之处是什么,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。 近几年服务行业一直在创新和突破,vps和云主机先后诞生进入大众视野,在为大家提供便利...
    99+
    2023-06-07
  • Java语言与C语言有什么不同
    Java语言与C语言有什么不同?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。 Java和C语言虽有相同性,但两者也有一定的不同。Java程序是面向对象的一种简单、...
    99+
    2023-05-31
    java c语言 ava
  • 云主机和VPS主机的不同之处是什么
    本篇内容介绍了“云主机和VPS主机的不同之处是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! 现在小编在网上看到不少人站长表示...
    99+
    2023-06-07
  • PHP7和PHP5在语法上的不同之处是什么
    这篇文章主要介绍了PHP7和PHP5在语法上的不同之处是什么的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇PHP7和PHP5在语法上的不同之处是什么文章都会有所收获,下面我们一起来看看吧。效率和性能提高最大的不...
    99+
    2023-07-05
  • C#与Flex的访问权限有什么不同
    本篇内容介绍了“C#与Flex的访问权限有什么不同”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!在类型内部,对象方法可以自由的访问任何权限成...
    99+
    2023-06-17
  • C++中NULL与nullptr的区别有什么不同
    这篇文章主要介绍C++中NULL与nullptr的区别有什么不同,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!一、C程序中的NULL在C语言中,NULL通常被定义为:#define NULL ((void *)0)所...
    99+
    2023-06-15
  • 云主机和vps有什么不同之处
    这篇文章主要介绍“云主机和vps有什么不同之处”,在日常操作中,相信很多人在云主机和vps有什么不同之处问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”云主机和vps有什么不同之处”的疑惑有所帮助!接下来,请跟...
    99+
    2023-06-07
  • 分布式教程:ASP和Django的不同之处是什么?
    在当今互联网时代,分布式系统正变得越来越普遍。ASP和Django作为两个广泛使用的分布式框架,被广泛应用于Web开发。但是,它们之间有着很大的不同之处。本文将探讨这两个框架的不同之处。 ASP是一种基于Microsoft .NET框架的...
    99+
    2023-11-08
    django 分布式 教程
  • php $_cookie值与存入值不同的原因是什么
    今天小编给大家分享一下php $_cookie值与存入值不同的原因是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。变量名...
    99+
    2023-07-05
  • Typescript中interface与type的相同点与不同点是什么
    今天小编给大家分享一下Typescript中interface与type的相同点与不同点是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一...
    99+
    2023-07-04
  • 数组和重定向:ASP和Apache的相似之处和不同之处是什么?
    在Web开发中,数组和重定向是常用的技术。ASP和Apache是两个常用的Web开发平台,它们都支持数组和重定向。本文将介绍ASP和Apache的相似之处和不同之处。 一、相似之处 数组 数组是一种存储多个相同类型数据的集合。在ASP...
    99+
    2023-06-19
    apache 数组 重定向
  • Java和C++的枚举与反射有什么不同
    这篇文章主要介绍“Java和C++的枚举与反射有什么不同”,在日常操作中,相信很多人在Java和C++的枚举与反射有什么不同问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Java和C++的枚举与反射有什么不同...
    99+
    2023-06-17
  • C语言中*p+1和*(p+1)之间有什么不同
    本篇内容主要讲解“C语言中*p+1和*(p+1)之间有什么不同”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C语言中*p+1和*(p+1)之间有什么不同”吧!区别是:1、*p表示此指针指向的内存...
    99+
    2023-06-20
  • 利用Java怎么对比两个文本文件的相同与不同之处
    本篇文章给大家分享的是有关利用Java怎么对比两个文本文件的相同与不同之处,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。使用需求:文件1里面是需要比较的内容,文件2是被比较的文...
    99+
    2023-05-31
    java ava
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作