D
delphikj
Unregistered / Unconfirmed
GUEST, unregistred user!
请教大家一个问题;
自己定义如下两个数据类型,
R_matrix=Record
R_matrix_num:arraycomplex;
row_num:integer;
line_num:integer;
end;
R_matrix_real=Record
R_matrix_num_real:arrayreal;
row_num_real:integer;
line_num_real:integer;
(其中arraycomplex与 arrayreal是自定义的不同数据类型的二维数组)
功能上很类似,主要区别是一个是复数,另一个是实数类型。
我分别定义了
constructor Tmatrix.initmatrix(matrixinit:R_matrix);
constructor Tmatrix.initmatrix_real(matrixinit:R_matrix_real);
两个构造函数根据数据类型的不同来生成不同的对象。
因为里面的方法功能基本一样,不同是对应不同数据类型,算法有所不同。
例如我有一个函数是两个数相乘,
对复数我定义了function matrix_multify(F_matrix_num,S_matrix_num:Tmatrix):R_matrix;
对实数我定义了function matrix_multify_real(F_matrix_num,S_matrix_num:Tmatrix):R_matrix_real;
来求解。已经可以用了,但是感觉不是很合理。
我希望能将两个constructor能合并起来,不知大家遇到这样情况如何处理的。
自己定义如下两个数据类型,
R_matrix=Record
R_matrix_num:arraycomplex;
row_num:integer;
line_num:integer;
end;
R_matrix_real=Record
R_matrix_num_real:arrayreal;
row_num_real:integer;
line_num_real:integer;
(其中arraycomplex与 arrayreal是自定义的不同数据类型的二维数组)
功能上很类似,主要区别是一个是复数,另一个是实数类型。
我分别定义了
constructor Tmatrix.initmatrix(matrixinit:R_matrix);
constructor Tmatrix.initmatrix_real(matrixinit:R_matrix_real);
两个构造函数根据数据类型的不同来生成不同的对象。
因为里面的方法功能基本一样,不同是对应不同数据类型,算法有所不同。
例如我有一个函数是两个数相乘,
对复数我定义了function matrix_multify(F_matrix_num,S_matrix_num:Tmatrix):R_matrix;
对实数我定义了function matrix_multify_real(F_matrix_num,S_matrix_num:Tmatrix):R_matrix_real;
来求解。已经可以用了,但是感觉不是很合理。
我希望能将两个constructor能合并起来,不知大家遇到这样情况如何处理的。