pascalabcnet/TestSuite/generics4.pas

20 lines
500 B
ObjectPascal
Raw Permalink Normal View History

type TSet<T> = record
2015-05-14 22:35:07 +03:00
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;
2024-11-16 10:56:11 +03:00
Include(set1.set1,'b');
Include(set1.set2,'b');
2015-05-14 22:35:07 +03:00
Include(set2.set1,'b');
Include(set2.set2,'b');
assert(set1.set1 = ['b']); // увы - при присваивании не вызывается operator := для компонент
assert(set1.set2 = ['b']);
2015-05-14 22:35:07 +03:00
end.