Перегрузка функций для предотвращения преобразования типа. Функции­-члены для преобразования типа.

Для предотвращения неправильных преобразований типов при вызове функций следует использовать их перегрузку. В c++ предоставляется возможность добавления такой функциональности у классов, как приведение объектов класса к любому типу, для появления данной возможности в классе следует объявить и реализовать функцию следующего вида:

operator  <new  type>()
{
    //  function  body
    return  <value  with  type  “new  type”>
}

Пример:

class  Line
{
    public:
        operator  double()
        {
            return  length;
        }
    private:
        double  length;
}

int  main()
{
    Line  line;
    double  lineLength  =  line; //  == Line.length
}

results matching ""

    No results matching ""