, . " ". , , , ( , , , , ), - .
, , . ( , ), , , . , , , , , .
, : Data DataAnalyzer
DataAnalyzer ( ), DataAnalyzer Data ( ) - ! , DataAnalyzer ( ++, ), /, DataAnalyzer. :
class IAnalyzer
{
public:
virtual void Analyze () = 0;
};
DataAnalyzer, :
class DataAnalyzer : public IAnalyzer
{
public:
DataAnalyzer (Data* data);
virtual void Analyze ();
};
:
class Data
{
public:
Data ();
IAnalyzer* Analyzer;
};
- - :
void main ()
{
Data* data = new Data ();
data->Analyzer = new DataAnalyzer (data);
}
( , IAnalyzer Data), DataAnalyzer . , DataAnalyzer Data, .
: , .
!