pascalabcnet/TestSuite/generics4.pas
Mikhalkovich Stanislav f8819665ba NS2
2024-11-16 10:56:11 +03:00

20 lines
500 B
ObjectPascal

type TSet<T> = record
str: string;
set1: set of char;
set2: set of T;
end;
begin
var set1: TSet<char>;
var set2: TSet<char>;
assert(set1.str = '');
assert(set1.set1 = []);
assert(set1.set2 = []);
set2 := set1;
Include(set1.set1,'b');
Include(set1.set2,'b');
Include(set2.set1,'b');
Include(set2.set2,'b');
assert(set1.set1 = ['b']); // увы - при присваивании не вызывается operator := для компонент
assert(set1.set2 = ['b']);
end.