aida is a pointer to the class IAnalysisFctory that gets its value from AIDA_createAnalysisFactory()
I don't understand AIDA::IAnalysisFctory,
is it like that :: is used to introduce a method or a constructor of class AIDA, but here I don't know what is IAnalysisFctory. If it was a function it should be like [b]IAnalysisFctory()[/b], so what is it in this case.
many thanks in advance
:: is a scope resolution operator. In your case AIDA is probably a namespace and IAnalysisFactory is a class in that namespace. :: doesn't really do anything. It's purpose is only to allow more convenient naming.
A common example is std::cin. Here std is a namespace and cin is an object in it.
Note that there are other cases where :: is used such as accessing static members of classes or choosing between local and global scope variables.