Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
kalpakk
13 / 13 / 1
Регистрация: 02.07.2011
Сообщений: 62
#1

Преобразование пользовательских классов - C++

18.05.2013, 07:06. Просмотров 398. Ответов 1
Метки нет (Все метки)

у меня есть два класса:
Кликните здесь для просмотра всего текста

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
class Int;
 
class Compl
   {
         float real;
         float image;
      public:
         friend class Int;
         Compl():real(0),image(0){};
       // Compl(Int i):real(i.In),image(0){};
         Compl(int r):real(r),image(0){};
         Compl(int r, int i):real(r),image(i){};
         Compl(float r):real(r),image(0){};
         Compl(float r,float i):real(r),image(i){};
         operator double () const { return (real); };
         operator float () const { return real; };
         operator int () const { return (real); };
        // operator Int () const { return Int(real); };
 
   };
class Int
   {
         int In;
      public:
         friend class Compl;
         Int():In(0){};
         Int(int i):In(i){};
         Int(float f):In(static_cast<float>(f)){};
         Int(Compl c):In(c.real){};
         operator int () const { return In; };
         operator float () const { return static_cast<float>(In); };
         operator double () const { return static_cast<double>(In); };
         operator Compl () const { return Compl(In); };
 
   };

не могу сообразить как правильно написать переобразование класса Int в класс Compl
в строке
C++
1
2
 // Compl(Int i):real(i.In),image(0){};
 // operator Int () const { return Int(real); };
компилятор матерится
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.05.2013, 07:06     Преобразование пользовательских классов
Посмотрите здесь:

Преобразование пользовательских типов - C++
Добрый день. Суть проблемы такова. Есть 2 класса. Преобразовать через оператор получается. А через конструктор нет. Причем ошибка...

Преобразование пользовательских типов - C++
Здравствуйте. Помогите с одним вопросом, это пример из книги Лафоре ООП С++, не могу разобраться как работают функции int getHrs() const ...

Описания членов - данных пользовательских классов - C++
Помогите пожалуйста ЖИВОТНОЕ имя – char* класс – char* средний вес – int 2.Постановка задачи. Следует дать конкретную...

Найти ошибку в иерархии пользовательских классов - C++
Есть класс &quot;Дата&quot;, есть класс &quot;Работник&quot; который имеет поле &quot;Дата&quot;, и есть класс &quot;Компания&quot; который включает в себя массив работников. В...

Реализовать калькулятор, при помощи пользовательских классов - C++
Мне нужно сделать калькулятор, при помощи классов. Учитывая скобки( например: 3-2*(3+5)) Классы начали изучать буквально недавно. Поэтому...

Преобразование классов - C++
Есть код для MS VS C++, который переписываю на другой ЯП и не совсем понимаю как преобразовываются объекты. Интересующие части кода....

Преобразование классов - C++
Доброго Есть небольшая программулина. Вопрос: Почему нельзя использовать заккоментированые конструкторы //Преобразования классов ...

Лафоре, преобразование классов - C++
// times1.cpp // программа перевода времени в 24-часовом написании // в 12-часовое #include &lt;iostream&gt; #include &lt;string&gt; using...

Вынести методы из классов Panel и PictureBox (явная реализация методов базовых абстрактных классов) - C++
Тема: Множественное наследование. Явная реализация методов базовых абстрактных классов. Как вынести методы из классов Panel и...

Реализация отношения классов типа двунаправленная ассоциация, UML, порядок объявления классов, неполный класс - C++
Доброго времени суток! Осваивая UML, решил реализовать отношение двунаправленной ассоциации по диаграмме: У одного владельца...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
cyberbrain1000
23 / 23 / 3
Регистрация: 15.04.2013
Сообщений: 62
18.05.2013, 09:31     Преобразование пользовательских классов #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
class Int;
 
class Compl
{
         float real;
         float image;
    public:
         friend class Int;
         Compl():real(0),image(0){};
         Compl(Int i);
         Compl(int r):real(r),image(0){};
         Compl(int r, int i):real(r),image(i){};
         Compl(float r):real(r),image(0){};
         Compl(float r,float i):real(r),image(i){};
         operator double () const { return (real); };
         operator float () const { return real; };
         operator int () const { return (real); };
         operator Int () const;
 
};
 
class Int
{
         int In;
    public:
         friend class Compl;
         Int():In(0){};
         Int(int i):In(i){};
         Int(float f):In(static_cast<float>(f)){};
         Int(Compl c):In(c.real){};
         operator int () const { return In; };
         operator float () const { return static_cast<float>(In); };
         operator double () const { return static_cast<double>(In); };
         operator Compl () const { return Compl(In); };
 
 };
 
Compl::operator Int () const { return Int(real); }
 
Compl::Compl(Int i):real(i.In),image(0){};
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru