1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- { %FAIL }
- {$mode objfpc}
- Program test;
- uses crt;
- type
- TMatrix = class
- Constructor Create;
- private
- Elements : array [1..10,1..10] of real;
- end;
- Constructor TMatrix.Create;
- begin
- end;
- OPERATOR :=(r:Real):TMatrix;
- BEGIN
- WITH RESULT DO
- BEGIN
- { Do something }
- END;
- writeln ('Call to overloaded operator :=, real operand');
- END;
- operator :=(m : TMatrix):TMatrix;
- BEGIN
- WITH RESULT DO
- BEGIN
- { Do something }
- END;
- writeln ('Call to overloaded operator :=, matrix operand');
- END;
- var
- m : TMatrix;
- m2 : TMatrix;
- begin
- clrscr;
- writeln ('Performing calculations...');
- m:=TMatrix.Create;
- m2:=TMatrix.Create;
- writeln ('Assigning real to matrix...');
- { This one works }
- m:=1;
- writeln ('Assigning matrix to matrix...');
- { This one does not work }
- m:=m2;
- writeln ('Done.');
- end.
|