Bonjour à toutes & à tous,
Je cherche à réaliser quelque chose qui existe mais je ne me souviens plus comment le faire et mes recherches sont restées infructueuses...
Contexte:
Une classe A qui contient un champ de type classe V.
Le but étant de dériver la classe V, la passer en paramètre à l'objet de classe A qui va créer une instance de celle-ci.
Exemple:
Bien entendu, ce code reflète ce que je désire obtenir mais ne fonctionne pas à la compilation...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30 TClasseAderiver = class PUBLIC function WriteToStream( const pStream: TStream ): Boolean; virtual; abstract; function LoadFromStream( const pStream: TStream ): Boolean; virtual; abstract; end; TClassContainer = class PRIVATE TheClass: TClasseAderiver; PUBLIC constructor Create( pSourceClass: TClasseAderiver ); procedure Save( const pStream: TStream ); procedure Load( const pStream: TStream ); end; constructor TClassContainer.Create( pSourceClass: TClasseAderiver ) begin TheClass := pSourceClass.Create; end; procedure TClassContainer.Save( const pStream: TStream ); begin TheClass.SaveToStream( pStream ); end; procedure TClassContainer.Load( const pStream: TStream ); begin TheClass.LoadFromStream( pStream ); end;
Merci d'avance pour votre aide !![]()
Partager