brainail пишет:У меня вопрос :
Что значит вот этот тип
typedef complex<double> base;
то есть он и комплексный и дробный,объясните пожалуйста в чём прелесть типа комплех,и так далее...
Это значит, что он представляет комплексное число x+yi, где i=sqrt(-1) - мнимая единица, а x,y - пара действительных чисел. В complex<double> эти действительные числа представляются типом double. А еще можно быть, например, complex<float> и complex<long double>.
У complex<T> есть два конструктура:
complex(T x, T y) - создаёт число x+yi
complex(T x) - создаёт число x+0i, т.е. чисто действительное число.
Конструкции вида "base w = 1" и "base w(1)" в С++ эквивалентны - они обе означают, что требуется вызвать конструктор класса base, принимающий один аргумент, и причем с типом аргумента, совместимым с тем значением, что ему передают.