Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
hardkorchik
0 / 0 / 3
Регистрация: 27.02.2016
Сообщений: 10
#1

не удается передать объект из одного класса в другой посредством return - C++

10.12.2016, 23:48. Просмотров 177. Ответов 4
Метки нет (Все метки)

есть класс Reading,в котором находится два объекта типа string :text и line,их я передаю с помощью двух аналогичных методов std::string outch() { return line; }; и std::string outstr() { return text; };.В main() я вызваю эти методы и приравниваю их к строкам li и prom,затем передаю их в метод другого класса,так вот,я посмотрел по отладке,с prom всё хорошо работает,он его ретернет,затем присваивает и передаёт,а вот с li проблемка-в классе line содержит текст,std::string outch() { return line; }; метожд содержит текст,а вот R.outch(); уже не содержит,странно,ведь с текстом так вышло
C++
1
2
3
4
5
6
7
8
9
10
class Reading {
private:
    std::string text;
    std::string line;
public:
    void reading();
    void input();
    std::string outch() { return line; };
    std::string outstr() { return text; };
};
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    RK r;
    Reading R;
    Console c;
    R.input();
    R.reading();
    std::string li = R.outch();
    std::string prom = R.outstr();
    r.translation(prom,li);
    //r.search(prom, li);
    //c.output(prom);
}

http://www.cyberforum.ru/cpp-beginners/thread1810664.html
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.12.2016, 23:48
Я подобрал для вас темы с готовыми решениями и ответами на вопрос не удается передать объект из одного класса в другой посредством return (C++):

Не работает передача объекта из одного класса в другой через return
Есть 2 объекта класс Reading ,text и line,которые посредством методов...

Передать вектор и string строку из одного класса в другой
У меня класс. В его свойствах есть вектор и строка с определенным набором...

Передать значение из одного класса в другой через указатель
Я не могу додуматься что тут не так class Car { private: int weight;...

В конструктор класса передать объект этого класса
Вопрос на засыпку :) Как в конструктор класса передать объект этого класса?...

Передача конструктору одного класса объект другого класса
Здравствуйте, кодеры. Столкнулся с проблемой. У меня есть 2 класса Camera и...

4
nd2
2828 / 2398 / 1052
Регистрация: 29.01.2016
Сообщений: 8,022
11.12.2016, 03:45 #2
Цитата Сообщение от hardkorchik Посмотреть сообщение
C++
1
2
R.input(); 
R.reading();
Покажи, что там делается.
0
hardkorchik
0 / 0 / 3
Регистрация: 27.02.2016
Сообщений: 10
11.12.2016, 10:41  [ТС] #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
void Reading::input()
{
    char c;
    int i = 0;
    std::cout << "Введите искомую строку" << std::endl;
    while ((c = getchar()) != '\n'){//заполняем строку,которую необходимо найти в тексте
        line[i] = c;
        i++;
    }
    line[i] = '\0';
}
void Reading::reading()
{
    int ch=0;
    std::ifstream ifs;
    ifs.open("1.txt");
    while ((ch = ifs.get()) != EOF){
        text.push_back(char(ch));
    }
}
0
mat_for_c
210 / 205 / 76
Регистрация: 26.04.2013
Сообщений: 957
Завершенные тесты: 3
11.12.2016, 12:07 #4
Лучший ответ Сообщение было отмечено hardkorchik как решение

Решение

C++
1
line.push_back(c);
1
nd2
2828 / 2398 / 1052
Регистрация: 29.01.2016
Сообщений: 8,022
11.12.2016, 18:19 #5
hardkorchik, у тебя какая среда? Студия бы ошибку выдала: выход за размер строки (обращение по индексу к пустой строке).
0
11.12.2016, 18:19
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.12.2016, 18:19
Привет! Вот еще темы с решениями:

Не удается разыменовать указатель на объект класса
Добрый день, знатоки c++. Пишу программу, уровень знаний базовый. Нуждаюсь в...

Есть два класса необходимо передать из одного класса информацию в другую
Есть два класса, class entiti { public: test* emap; }; class test {...

Недопустимый неполный тип , или как передать в функцию указатель на объект класса , или просто объект
Други мои , кодеры. Не могу я ни как передать в функцию объект класса , или что...

Копирование содержимого одного файла в другой посредством командной строки
Здравствуйте, Передо мной встала задача написать программу, которая работала...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

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