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.

顺序  选择  循环  总结

原文地址:https://www.cnblogs.com/Braveliu/p/3602784.html