Преобразуване на Типовете
| Информационни технологии | 2009-12-04 | 38 сваляния |
-
Преобразуване на Типовете
Съществуват два основни метода за преобразуване на типа:
-
Метод на отрязването (кастинг метод) с помощта на cast оператор.
-
Метод, базиран на конструктор.
1. Преобразуване с метода на отрязването - с помощта на cast оператор
-
Преобразува се тип клас в базов тип или в друг тип клас.
-
Дефинира се винаги чрез операторна член-функция, в която не се задава тип на резултата.
-
Тази член-функция се извиква за обект, указан от this и няма явни параметри.
-
Извикването на тази функция може да бъде:
-
1) явно (при операция присвояване, при изчисление на израз);
-
2) неявно (при операция присвояване, при извикване на функция, при изчисление на израз)
Общ вид на заглавния оператор:
оperator тип()
Пример
#include
class example
{ int x;
float y;
public:
example(int a=1,float b=2.3)
{ x=a; y=b; }
operator int (){return x;}//операторна ф-ия за клас->int
operator float(){return y;}//операторна ф-ия за клас->float
};
void f(int n) //дефиниция на функция
{ cout<<параметър n=<<n<<n; }
void main()
{ example p,q; //създаване на два обекта p,q
int i,j;
float r;
i=(int)p; //явно при присвояване
r=(float)q; //явно при присвояване
cout<<i=<<i<<,r=<<r<<n;
//i=p+3; //нееднозначност - грешка
//i=(int)p+3;
i=q; //неявно при присвояване
cout<<i=<<i<<n;
f(p); //неявно при извикване на функция
r=(float)p+(int)q; //явно при изчисление на израз
cout<<r=<<r<<n;
}
Резултати от изпълнение
i=1,r=2.3
i=1
параметър n=1
r=3.3
Тагове от реферата: типовет, преобуване, метода, съществува, основни











