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

Присваивание - C++

Восстановить пароль Регистрация
 
Praud
7 / 7 / 3
Регистрация: 25.02.2013
Сообщений: 233
10.03.2014, 15:19     Присваивание #1
Помогите с оператором присваивания )
C++
1
2
3
4
5
6
class Stack
{
private:
    myString *st;
        ....
        void operator=(myString);
C++
1
2
3
4
5
class myString
{
private:
    char str[MAX_SIZE];
         ....

C++
1
2
3
4
5
//реализация метода 
void Stack::operator=(myString a)
{
    st=a.str;  //не работает 
}
Вот такая ситуация, типы данных разные, как присвоить ?)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.03.2014, 15:19     Присваивание
Посмотрите здесь:

Присваивание... C++
Присваивание матиц C++
Сложное присваивание переменной C++
C++ Класс присваивание a=b=c
C++ Присваивание =
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Tulosba
:)
Эксперт С++
4378 / 3221 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
10.03.2014, 15:31     Присваивание #2
Цитата Сообщение от Praud Посмотреть сообщение
типы данных разные, как присвоить ?)
Как присвоить переменной типа "слон" переменную типа "пароход"? Должно быть какое-то разумное преобразование. Оно у Вас имеется?
Praud
7 / 7 / 3
Регистрация: 25.02.2013
Сообщений: 233
10.03.2014, 15:44  [ТС]     Присваивание #3
по всей видимости нет. Каким образом оно должно выглядеть ?

Добавлено через 9 минут
Если написать st=a, То по сути нужно преобразовать myString* в myString, -> нужно преобразовать char* в char, но как?
Tulosba
:)
Эксперт С++
4378 / 3221 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
10.03.2014, 15:45     Присваивание #4
Цитата Сообщение от Praud Посмотреть сообщение
Каким образом оно должно выглядеть ?
Преобразовать экземпляр одного класса в другой можно либо написав соответствующий конструктор:
C++
1
T(const U& u); // преобразование из U в T
либо реализовав преобразующий оператор, если класс T недоступен для модификации:
C++
1
operator T(const U& u); // в классе U например
Yandex
Объявления
10.03.2014, 15:45     Присваивание
Ответ Создать тему
Опции темы

Текущее время: 10:59. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru