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++的区别 在很大程度上, ...
随机推荐
- PySe-004-Se-WebDriver 启动浏览器之二 - Chrome
上篇文章简略讲述了 WebDriver 启动 firefox 浏览器的示例脚本源码,具体请参阅: PySe-003-Se-WebDriver 启动浏览器之一 - Firefox 此文主要讲述在 Mac ...
- imx6 android5.1 打开 调试串口
imx6的工板烧录android 5.1的镜像,uboot中能使用debug口,kernel,文件系统中不能使用debug口. 打开kenel和文件系统debug口方法,在uboot的bootargs ...
- 使用 Redis 实现分布式系统轻量级协调技术
http://www.ibm.com/developerworks/cn/opensource/os-cn-redis-coordinate/index.html 在分布式系统中,各个进程(本文使用进 ...
- SpringMVC中的controller默认是单例的原因
http://lavasoft.blog.51cto.com/62575/1394669/ 1.性能 :单例不用每次new浪费资源时间. 2.不需要:一般controller中不会定义属性这样单例就不 ...
- 【FastJSON】解决FastJson中“$ref 循环引用”的问题
0.开发环境 SSH,EasyUI,MySQL 1.需求要求: (1)首先获取所有的贷款订单数据,即List <LoanOrder>. (2)然后从单个贷款订单实体LoanOrder去访问 ...
- mysql怎么定义外键
数据库mysql 建立外键的前提: 本表的列必须与外键类型相同(外键必须是外表主键). 外键作用: 使两张表形成关联,外键只能引用外表中的列的值! 指定主键关键字: foreign key(列名) 引 ...
- laravel-v4.0.9
- centos python 2.7 安装
一开始有这个需求,是因为用 YaH3C 替代 iNode 进行校园网认证时,一直编译错误,提示找不到 Python 的某个模块,百度了一下,此模块是在 Python2.7 以上才有的,但是系统的自带的 ...
- C# 调用VC++的DLL,VC++封装DLL
VS中新建一个动态库项目 文件生成一个工程名对应的.cpp文件,该文件定义 DLL应用程序的导出函数. 工程内新建一个类OutputInt,我用类向导生成,工程中会添加OutputInt.cpp和Ou ...
- fakeLoader.js-针对WebApp中的 “假”预加载
在做移动端网站的时候,前端有时候需要一些过渡效果,当然我们肯定首先想到肯定是用css3做一个过渡动画,nice,那我给大家一个好用的jQuery插件吧,让你三行代码实现这种过渡动画效果. 1.由于该插 ...