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

Приведение типов - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Для матриццы размером n x m вычислить сумму элементов матрицы http://www.cyberforum.ru/cpp-beginners/thread208025.html
Условия этой задачи (задача одна), таковы: Для матриццы размером n x m вычислить сумму элементов матрицы. Умножить на это число элементы k-той строки. Значение k вводится. Исходная матрица...
C++ интеграл помогите пожалуйста написать прогу которая релала бы интеграллы например: \int dv/v=\int dx/xоткуда при решении получаем Ln(v)=Ln(x) http://www.cyberforum.ru/cpp-beginners/thread208006.html
C++ Строки (C++)
вот моё задание: Зменить в строке последовательность одинаковых символов (не пробелов) на десятичное число, соответствующее их количеству, и сам символ. код: #include <math.h> #include...
Дружественные методы в заголовочном и релизационном файле C++
Доброго времени суток. Есть такая проблема: В заголовочном файле lsf.h описываю класс и перегружаю "<<" ">>" для работы с классом. #if !defined(TEST) #define TEST #include<iostream>...
C++ не работает cin.getlin() http://www.cyberforum.ru/cpp-beginners/thread207974.html
Здравствуйте! Помогите пожалуйста разобраться с cin.getline(). Ввод осуществляется следующим образом: Man :: Man () { cout << "Работает конструктор класса Man...\n\n" << "Введите...
C++ Необходимо создать класс... Здраствуйте, помогите решить задание: Необходимо создать класс имя "Обыкновенная дробь", Данные класса "Числитель и знаминатель", Главные функции класса: Конструктор, метод вывода дроби в виде... подробнее

Показать сообщение отдельно
alexsvk
8 / 8 / 1
Регистрация: 15.07.2010
Сообщений: 255

Приведение типов - C++

11.12.2010, 01:43. Просмотров 8217. Ответов 35
Метки (Все метки)

Добрый вечер!
Реализовываю явное и не явное приведение типов.
Есть два класса, сепаративных, A и B.
Реализацию явного преобразования делаю перегрузкой типов A и B.
Реализацию неявного преобразования делаю перегрузкой оператора "=".
Есть следующий момент: при реализации неявного преобразования this передаётся на A в случае вызова его объектом типа A, и на B, в случае вызова его объектом B. Только и в том, и другом случаях - "как гвоздём прибито" - в параметре должен стоять либо объект В, либо объект А.
Приведите, пожалуйста, пример реализации. Как сделать правильно?
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
class A
{
    char str[20];
    int count;
public:
    A();
    virtual ~A();
    void setParams(char*, int);
    void getParams();
    A& operator =();
    A operator A();
 
};
A::A()
{
    strcpy(str,"Oak");
    count = 3;
}
 
A::~A()
{
    
}
 
void A::getParams()
{
    cout<<"Tree: "<<str<<"\n";
    cout<<"Count: "<<count<<"\n\n";
}
 
void A::setParams(char* s, int c)
{
    strcpy(str,s);
    count  = c;
}
 
 
class B  
{
    char str[20];
    int count;
public:
    B();
    virtual ~B();
    void setParams(char*, int);
    void getParams();
 
};
 
B::B()
{
    strcpy(str,"Raspberry");
    count = 9;
}
 
B::~B()
{
 
}
 
void B::getParams()
{
    cout<<"Berry: "<<str<<"\n";
    cout<<"Count: "<<count<<"\n\n";
}
 
void B::setParams(char *s, int c)
{
    strcpy(str,s);
    count = c;
}
Добавлено через 1 час 8 минут

Не по теме:

Ребята...?



Добавлено через 5 часов 6 минут

Не по теме:

Есть варианты?

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