【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++的基本语法区别的更多相关文章

  1. C++与Java的语法区别

    C++与Java的语法区别 首先,两个大的不同是主函数和怎样编译的不同,接下来是许多小的区别. main 函数C++//自由浮动的函数int main( int argc, char* argv[]) ...

  2. Python2和Python3的一些语法区别

    Python2和Python3的一些语法区别 python 1.print 在版本2的使用方法是: print 'this is version 2 也可以是 print('this is versi ...

  3. python2 与 python3 语法区别

    python2 与 python3 语法区别 概述# 原稿地址:使用 2to3 将代码移植到 Python 3 几乎所有的Python 2程序都需要一些修改才能正常地运行在Python 3的环境下.为 ...

  4. MySQL与Oracle的语法区别详细对比

    MySQL与Oracle的语法区别详细对比 Oracle和mysql的一些简单命令对比在本文中将会涉及到很多的实例,感兴趣的你不妨学习一下,就当巩固自己的知识了   Oracle和mysql的一些简单 ...

  5. class helper 可能是从 Delphi 2007 增加的新语法

    class helper 可能是从 Delphi 2007 增加的新语法, 因为感觉不太实用, 直到今天才测试了一下. 试过之后才知道: 挺有意思的! 基本功能就是修改已存在的类. Txxx = cl ...

  6. python语法区别

    python语法区别: 大小写敏感 (动态语言:python)变量不用声明 p.s: 静态语言(Java)必须声明变量 语句末尾可以不打分号 可以直接进行数学计算 复制.粘贴功能失效,粘贴到别的地方的 ...

  7. Delphi与C++的语法区别(六点区别) good

    一.Delphi永远没办法在栈上创建一个对象 下面是一段常见的的Delphi代码,在过程的开头声明本过程所需要的全部局部变量: procedure Foo;var obj: TObject; //这句 ...

  8. Delphi和C++的语法区别 (关于构造和析构)

    目录 Delphi永远没办法在栈上创建一个对象 Delphi的构造函数更象是个类方法(静态成员函数) Delphi的析构函数中可以调用纯虚方法 Delphi在构造对象时自动将成员变量清零 Delphi ...

  9. C、C++、Java、go的语法区别

    详细C++.Java比较:http://www.cnblogs.com/stephen-liu74/archive/2011/07/27/2118660.html 一.C.C++的区别 在很大程度上, ...

随机推荐

  1. Ioc-Autofac实现自动的注入

    在开发过程中,最郁闷的莫过于当你新增一个Service时,你需要对该Service进行注册,有的是使用代码注入,有的是XML配置注入,不管是哪种类型的注入,经常会出现开发人员忘记注入的情况. 于是我试 ...

  2. 针对应用程序池“xxxxxx”的模板永久性缓存初始化失败,解决方法

    日志名称:          Application 来源:            Active Server Pages 日期:            2014-11-22 9:09:39 事件 I ...

  3. 注册表操作命令和自定义cmd窗口

    REM @echo offREM clsREM echo Microsoft Windows 7REM echo ------------------------REM echo Welcome to ...

  4. 密码有效性验证失败。该密码不够复杂,不符合 Windows 策略要求

    我在sqlserver2005中建立一个用户的时候,我的用户名和密码是一样的,它不允许我建立报“密码有效性验证失败.该密码不够复杂,不符合 Windows 策略要求”错误,我把密码改成其他一些就可以, ...

  5. AWE、加载计数器错误

    错误#1 16:28 2012-7-25数据库服务器A想开启下sql server 2000的AWE.结果发现在查询分析器中执行RECONFIGURE时报错.运行的语句为: sp_configure ...

  6. [MVCSharp]开始使用MVC#

    Getting started with MVC# framework The source code of this example can be found under "Example ...

  7. 解决:AppMsg - Warning: calling DestroyWindow in CWnd::~CWnd; OnDestroy or PostNcDestroy in derived class will not be called

    类似的还有:AppMsg - Warning: Destroying non-NULL m_pMainWnd(这是因为你既没有自己delete,也没有调用DestroyWindow) 首先解决第一个, ...

  8. ios webView 默认有缓存

    ios webview清除缓存. ios默认webview是有缓存的,所以不改变URL的话,刷新不了网页数据,或者像我这样写 NSMutableURLRequest *request = [NSMut ...

  9. linux:centos准备及安装

    1>.安装前准备(将虚拟机和映像文件iso下载好) 1.1>.centos下载(建议使用Filezilla下载(http://filezilla-project.org/download. ...

  10. Vagrant配置与使用

    Vagrant是一个基于Ruby的工具,用于创建和部署虚拟化开发环境.它 使用Oracle的开源VirtualBox虚拟化系统,使用 Chef创建自动化虚拟环境. Vagrant is an amaz ...