过程,函数的重载与逻辑运算 如果你想以相同的名称同时声明多个子程序,那么就必须使用重载方法,overload这编译指引关键字,而且这些子程序的参数必须不同! //声明各种不同类型的
过程,函数的重载与逻辑运算
如果你想以相同的名称同时声明多个子程序,那么就必须使用重载方法,overload这编译指引关键字,而且这些子程序的参数必须不同!
//声明各种不同类型的myadd子程序
function myadd(x,y:integer):string;overload;
function myadd(x,y:real):string;overload;
function myadd(x,y,x:string):string;overload;
procedure myadd(x,y:string);overload;
implementation
{$R *.dfm}
//返加两个整数相加的结果
function myadd(x,y:integer):string;overload;
begin
result:=intostr(x+y);
end;
//返回两个实数相加的结果
function myadd(x,y:real):string;overload;
begin
result:=floattostr(x+y);
end;
//返回3个字符串相加的结果
function myadd(x,y,z:string):string;overload;
begin
result:=x+y+z;
end;
//显示2个字符串相加的结果
procedure myadd(x,y:string):overload;
begin
showmessage(x+y);
end;
//事件驱动调用开始
procedure Tform1.buttononclick(sender:Tobject);
begin
//调用整数的函数
showmessage(myadd(10,20)); //30
//调用实数的函数
showmessage(myadd(10.1,20.2)); //30.3
//调用字符串的函数
showmessage(myadd('10','20','30')); //102030
//调用字条款串的过程
myadd('10','20'); //在过程中显示1020
and逻辑运算符
var
a,b:byte;
begin
//先声明变量a,b为byte类型,因为数据类型不同会有不同的结果
//显示结果为1
shl逻辑运算符
var
a,b:byte;
begin
a:=5;
//将a的内容值左移3位,a=00000101左移3位后,内容为
//00101xxx,其中的xxx系统会将其补0
b:=3;
//显示结果为40;
showmessage(inttostr(a shl b));
end;