![]() |
Модераторы: bsa |
![]() ![]() ![]() |
|
zhenya1 |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 100 Регистрация: 20.9.2010 Репутация: нет Всего: нет |
Нужно разбить класс банк на 3 класса. Я уверен, что я это сделал не правильно(т.к. по моему, два дружесвенных дополнительных класса даже не задействованы). Как правильно исправить код?
|
|||
|
||||
jonie |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5613 Регистрация: 21.8.2005 Где: Владимир Репутация: 6 Всего: 118 |
тут вообще лажа написана. Строка 41-42 это для чего воообще?
Это сообщение отредактировал(а) jonie - 30.9.2010, 19:03 -------------------- Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет... |
|||
|
||||
vnf |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 51 Регистрация: 9.2.2008 Репутация: нет Всего: 1 |
Исходный код (до переделки) покажите
|
|||
|
||||
zhenya1 |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 100 Регистрация: 20.9.2010 Репутация: нет Всего: нет |
вот исходный код.
|
|||
|
||||
jonie |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5613 Регистрация: 21.8.2005 Где: Владимир Репутация: 6 Всего: 118 |
zhenya1, ну все-равно в 20-21 строках написана лажа. Что вы в них делаете и ЗАЧЕМ? Я уж не говорю про то, что вы удаляете неверно данные (забываете про удаление "вложенных" массивов)..
Это сообщение отредактировал(а) jonie - 30.9.2010, 22:37 -------------------- Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет... |
|||
|
||||
kemiisto |
|
|||
![]() Дикий Кот. =^.^= ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Участник Клуба Сообщений: 3292 Регистрация: 29.7.2007 Репутация: 5 Всего: 160 |
У меня для Вас плохие новости. Не использовать в C++ std::string - это уже неправильно. -------------------- |
|||
|
||||
zhenya1 |
|
||||
Шустрый ![]() Профиль Группа: Участник Сообщений: 100 Регистрация: 20.9.2010 Репутация: нет Всего: нет |
Все, теперь удоляю верно, спасибо что заметили.
Я заполнял конструктор по умолчанию, хм..это не обязательно, согласен. Но проблема в том, что мне нужно разбить мой класс на 3 (предпологаю :один для name , другой для valu and salary и третий -с ам банк)
|
||||
|
|||||
vnf |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 51 Регистрация: 9.2.2008 Репутация: нет Всего: 1 |
вроде как компилиться |
|||
|
||||
zhenya1 |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 100 Регистрация: 20.9.2010 Репутация: нет Всего: нет |
Огромное Вам спасибо, Вы волшебник. Мне с кодом еще дня два разбираться, а то многое не уловил как Вы сделали. Задам пару вопросов:
1. Каким образом класс банк общается с другими классами. И почему не нужно предварительно обявлять другие классы и использовать в Bank friend классы. 2. Для чего это нужно? :
3. В классе Client name как стат. массив . В конструкторе вы каждый раз вводим имя, хм .. а где хранятся все именя? Как-то я не понимаю, вводим в массив ,а выводит как в массив строк. Объясните, как это все происходит. |
|||
|
||||
vnf |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 51 Регистрация: 9.2.2008 Репутация: нет Всего: 1 |
1.
friend объявляют в том случае если объекту одного класса требуется обращаться к закрытым членам объекта другого класса, в реальном коде такое встречается довольно редко. К открытым членам класса может обращаться кто угодно. В нашем случае объект класса банк Bank вызывает открытые члены-функции getSalary(...) и Show() объектов класса Client. 2. инкапсуляция, член salary закрытый, к нему нельзя обратиться из других классов, поэтому создаём открытый метод для получения значения этого члена 3. внутри объекта Bank храниться указатель на массив его клиентов Client * clients сам массив создается динамически clients = new Client[number_clients] каждый элемент массива хранит своё имя в своём члене name Это сообщение отредактировал(а) vnf - 1.10.2010, 20:42 |
|||
|
||||
zhenya1 |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 100 Регистрация: 20.9.2010 Репутация: нет Всего: нет |
Спасибо за разьяснения. Но вот еще одна проблемка:
Эту ф-цию мне в задании нужно сделать friend, почемуто. Возможно ли это? |
|||
|
||||
vnf |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 51 Регистрация: 9.2.2008 Репутация: нет Всего: 1 |
friend по отношению к классу могут быть или другие классы или просто функции. Вообще по смыслу в этой задаче friend'ами делать нечего, но если надо по условиям задания можно притянуть за уши следующим образом:
|
|||
|
||||
zhenya1 |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 100 Регистрация: 20.9.2010 Репутация: нет Всего: нет |
int getSalary(Client & client, ... -- тут, как я понимаю амперсант это ссылка. Не могли бы Вы пояснить как она работает в данном случае?
Я хочу сделать еще вот что: вводить имя, и если такое имеется , вывести всю информацию о нем. Но с помощью перегрузки оператора"<<".
Как правильно это сделать? |
|||
|
||||
![]() ![]() ![]() |
Правила форума "C/C++: Для новичков" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |