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++的区别 在很大程度上, ...
随机推荐
- Ioc-Autofac实现自动的注入
在开发过程中,最郁闷的莫过于当你新增一个Service时,你需要对该Service进行注册,有的是使用代码注入,有的是XML配置注入,不管是哪种类型的注入,经常会出现开发人员忘记注入的情况. 于是我试 ...
- 针对应用程序池“xxxxxx”的模板永久性缓存初始化失败,解决方法
日志名称: Application 来源: Active Server Pages 日期: 2014-11-22 9:09:39 事件 I ...
- 注册表操作命令和自定义cmd窗口
REM @echo offREM clsREM echo Microsoft Windows 7REM echo ------------------------REM echo Welcome to ...
- 密码有效性验证失败。该密码不够复杂,不符合 Windows 策略要求
我在sqlserver2005中建立一个用户的时候,我的用户名和密码是一样的,它不允许我建立报“密码有效性验证失败.该密码不够复杂,不符合 Windows 策略要求”错误,我把密码改成其他一些就可以, ...
- AWE、加载计数器错误
错误#1 16:28 2012-7-25数据库服务器A想开启下sql server 2000的AWE.结果发现在查询分析器中执行RECONFIGURE时报错.运行的语句为: sp_configure ...
- [MVCSharp]开始使用MVC#
Getting started with MVC# framework The source code of this example can be found under "Example ...
- 解决: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) 首先解决第一个, ...
- ios webView 默认有缓存
ios webview清除缓存. ios默认webview是有缓存的,所以不改变URL的话,刷新不了网页数据,或者像我这样写 NSMutableURLRequest *request = [NSMut ...
- linux:centos准备及安装
1>.安装前准备(将虚拟机和映像文件iso下载好) 1.1>.centos下载(建议使用Filezilla下载(http://filezilla-project.org/download. ...
- Vagrant配置与使用
Vagrant是一个基于Ruby的工具,用于创建和部署虚拟化开发环境.它 使用Oracle的开源VirtualBox虚拟化系统,使用 Chef创建自动化虚拟环境. Vagrant is an amaz ...