delphi 与 C++的基本语法区别
【1】“=”符号
(1)“=”作为比较符。但是,当定义const常量时,“=”又表示赋值符号。而“:=”作为赋值符号。
(2)“=”只表示赋值符号
【2】结构体
(1)record 作为结构体
(2)struct 作为结构体
【3】继承
(1)子类名 = class(父类名)(同时注意这里的“=”也相当于赋值符号)
(2)子类名:public 父类名
【4】class of
(1)A = class of B; 表示A是B的别名。
(2)相当于typedef关键字,定义一个别名。
【5】构造函数
(1)构造函数名为create
(2)构造函数名为类名
【6】析构函数
(1)析构函数名为destroy
(2)析构函数名为类名加~
【7】函数
(1)procedure为过程,function为函数。其区别在于前者没有返回值,后者有返回值。
(2)函数无返回值为void,存在返回值时同function
【8】构造和析构
(1)构造函数必须加constructor,析构函数必须加destructor
(2)不加任何关键字
【9】花括号
(1)begin end代替
(2)花括号{ }作用域
【10】虚函数
(1)virtual写在函数最后面
(2)virtual写在函数最前面
【11】纯虚函数
(1)virtual abstract两个关键字
(2)前面加virtual,后面函数直接“=0”
【12】重载和覆盖
(1)重载overload,override覆盖
(2)参见随笔《重载覆盖重写》
【13】变量声明
(1)变量名在前,类型在后
(2)类型在前,变量名在后
【14】for循环
(1)总是从0到size-1个逐个遍历
(2)for(int i = 0; i < size; ++i){ }
【15】函数返回值
(1)有返回类型的函数,返回变量Result。无返回类型的procedure过程不考虑。
(2)返回值类型与函数的返回类型必须匹配
【16】静态函数
(1)class function 表示静态方法
(2)static关键字
【17】枚举
(1)type 直接枚举名,赋值为枚举成员
(2)enum关键字
【18】不等于
(1)<>表示不等于
(2)!=表示不等于
【19】数组
(1)arrayVar = array[1..24] of Integer;定义一个24个整型大小的数组
(2)int arrayVar[24];注意下标是从0开始。
【20】指针
(1)
type
PointerToInt = ^Integer; //指向整型的指针
var
p: ^Integer; //声明一个指向整型的指针变量
x: Integer; //声明一个整型变量
p:=@x; // 给指针变量赋值为整数的地址
// change the value in two different ways
x:=10;//改变整型变量的值
p^:=20; // 改变指针指向的地址的数据值
(2)
int* p = NULL;
int a = 100;
p = &a;
a= 200;
*p = 300;
【21】引用
(1)
procedure DoubleTheValue(var Value:Integer)
begin
value := Value*2;
end;
引用参数用var关键字标识
(2)
void DoubleTheValue(int & nValue)
{
nValue = nValue*2;
}
备注:每项的(1)为delphi的表示;(2)为C++表示。
Good Good Study, Day Day Up.
顺序 选择 循环 总结
delphi 与 C++的基本语法区别的更多相关文章
- C++与Java的语法区别
C++与Java的语法区别 首先,两个大的不同是主函数和怎样编译的不同,接下来是许多小的区别. main 函数C++//自由浮动的函数int main( int argc, char* argv[]) ...
- Python2和Python3的一些语法区别
Python2和Python3的一些语法区别 python 1.print 在版本2的使用方法是: print 'this is version 2 也可以是 print('this is versi ...
- python2 与 python3 语法区别
python2 与 python3 语法区别 概述# 原稿地址:使用 2to3 将代码移植到 Python 3 几乎所有的Python 2程序都需要一些修改才能正常地运行在Python 3的环境下.为 ...
- MySQL与Oracle的语法区别详细对比
MySQL与Oracle的语法区别详细对比 Oracle和mysql的一些简单命令对比在本文中将会涉及到很多的实例,感兴趣的你不妨学习一下,就当巩固自己的知识了 Oracle和mysql的一些简单 ...
- class helper 可能是从 Delphi 2007 增加的新语法
class helper 可能是从 Delphi 2007 增加的新语法, 因为感觉不太实用, 直到今天才测试了一下. 试过之后才知道: 挺有意思的! 基本功能就是修改已存在的类. Txxx = cl ...
- python语法区别
python语法区别: 大小写敏感 (动态语言:python)变量不用声明 p.s: 静态语言(Java)必须声明变量 语句末尾可以不打分号 可以直接进行数学计算 复制.粘贴功能失效,粘贴到别的地方的 ...
- Delphi与C++的语法区别(六点区别) good
一.Delphi永远没办法在栈上创建一个对象 下面是一段常见的的Delphi代码,在过程的开头声明本过程所需要的全部局部变量: procedure Foo;var obj: TObject; //这句 ...
- Delphi和C++的语法区别 (关于构造和析构)
目录 Delphi永远没办法在栈上创建一个对象 Delphi的构造函数更象是个类方法(静态成员函数) Delphi的析构函数中可以调用纯虚方法 Delphi在构造对象时自动将成员变量清零 Delphi ...
- C、C++、Java、go的语法区别
详细C++.Java比较:http://www.cnblogs.com/stephen-liu74/archive/2011/07/27/2118660.html 一.C.C++的区别 在很大程度上, ...
随机推荐
- Java学习-004-传世经典Helloworld
此文主要通过一个广为人知的传世经典应用(Helloworld)讲述 Java 程序的结构,Java 程序的开发步骤,以及 Java 程序是如何运行的. 一.开发 Java 程序步骤 开发 Java 程 ...
- [转]AppCompat 22.1,Goole暴走,MD全面兼容低版本
AppCompat 22.1,Goole暴走,MD全面兼容低版本 分类: Android2015-04-24 09:48 1354人阅读 评论(0) 收藏 举报 android 目录(?)[+] ...
- imx6 uboot lvds clock
在uboot中添加logo,lvds接口的lcd显示不正常,出现波动.网上说是lvds时钟频率的问题. 使用示波器测量之后,发现频率是60M,而lcd最大频率才46.8M. 因此就需要更改uboot中 ...
- 在CentOS6.5上安装Tomcat7
Tomcat大本营地址:http://tomcat.apache.org/ 本文使用到的Tomcat7下载地址:http://apache.opencas.org/tomcat/tomcat-7/v7 ...
- out 和 ref 之间的区别整理
ref和out都是C#中的关键字,所实现的功能也差不多,都是指定一个参数按照引用传递. 对于编译后的程序而言,它们之间没有任何区别,也就是说它们只有语法区别. 总结起来,他们有如下语法区别: 1.re ...
- CFBundleVersion与CFBundleShortVersionString
CFBundleVersion,标识(发布或未发布)的内部版本号.这是一个单调增加的字符串,包括一个或多个时期分隔的整数. CFBundleShortVersionString 标识应用程序的发布版 ...
- textarea 默认文字获取焦点失去焦点
<textarea name="textarea" cols="" title="contactForm" class="t ...
- bind和unbind事件的应用
1.bind 先从一动画的示例看起,如图: 而图中表示的mouseout(移出).mouseover(移入)事件的操作,比较简单,具体代码如下: 从中我可以得出bind()的语法: $().bind( ...
- eclipse中tomcat能正常启动,但是浏览器访问不了tomcat首页
在eclipse中新建tomcat7,完成后tomcat能够正常启动,但是浏览器问题localhost:8080访问不了. 解决方法如下: 双击eclipse中服务器中的tomcat 出现tomcat ...
- loop_nslookup
function loop_nslookup() { $baseFolder = "D:\ps_toolkit" $ip_list = "$baseFolder\ip_l ...