Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.02.2014, 07:49   #11
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,543
По умолчанию

Цитата:
Сообщение от rrrFer Посмотреть сообщение
не говоря уже о всяких борландах
У меня сожрал и 5-й и 6-й. Другими не пользуюсь.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder
Smitt&Wesson вне форума Ответить с цитированием
Старый 28.02.2014, 12:49   #12
MaTBeu
Eclipse Foundation
Старожил
 
Аватар для MaTBeu
 
Регистрация: 19.09.2007
Сообщений: 2,604
По умолчанию

Код:
#include <iostream>
#include <string.h>

using namespace std;

class book
{
public:
    friend class librarian;
    book (char*, char*, char*);
    void show_book();
private:
    char title[64] ;
    char author[64];
    char catalog[64];
};
book::book(char* s_title, char* s_author, char* s_catalog)
{
    strcpy(title, s_title);
    strcpy(author, s_author) ;
    strcpy(catalog, s_catalog);
}

    
void book::show_book(void){
    cout << "Nazvanie: " << title << endl;
    cout << "Autor: " << author << endl;
    cout << "Catalog: " << catalog << endl;
}

    
class librarian{
public:
    void change_catalog(book*, char*);
    const char* get_catalog(const book &);
};

   
void librarian::change_catalog(book* this_book, char* new_catalog){
    strcpy(this_book->catalog, new_catalog);
}

const char* librarian::get_catalog(const book &this_book){
    return this_book.catalog;
}

int main()
{
    book programming("U4ims9 programmirovat' na C++", "Jamsa", "P101");
    librarian library;
    programming.show_book();
    library.change_catalog(&programming, "Legkiy C++ 101");
    programming.show_book();

    cin.get();

    return 0;
}
Warnings не убирал
MaTBeu вне форума Ответить с цитированием
Старый 28.02.2014, 13:59   #13
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,543
По умолчанию

Матвей, классы вижу, но дружественных не наблюдаю.
Может это секретный код?
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder

Последний раз редактировалось Smitt&Wesson; 28.02.2014 в 14:02.
Smitt&Wesson вне форума Ответить с цитированием
Старый 28.02.2014, 14:20   #14
MaTBeu
Eclipse Foundation
Старожил
 
Аватар для MaTBeu
 
Регистрация: 19.09.2007
Сообщений: 2,604
По умолчанию

Внимательнее смотрите

Код:
friend class librarian;
MaTBeu вне форума Ответить с цитированием
Старый 28.02.2014, 16:33   #15
rrrFer
Санитар
Старожил
 
Аватар для rrrFer
 
Регистрация: 04.10.2008
Сообщений: 2,577
По умолчанию

Задания в вузах ужасные кнешно. Зачем на дружественность целая лаба? Тем более задача без дружбы решается элегантно. ИМХО если в задаче делается акцент на какую-то фичу - то профит с этой фичи должен быть очевиден по решению задачи. И вообще, эту фичу надо рассмотреть всесторонне. Им вот стопудово не сказали - что дружба - это плохо.

Возмущаюсь потому, что у меня ООП тоже вел какой-то черт, который всю жизнь сети администрировал и сочетание букв ООП впервые в своем расписании увидел. Задания были такими же дебильными, говнокода была написана куча (нам вообще не говорили "как правильно", "что хорошо, а что плохо"). Говнокодил пока сам книжки по теме читать не начал, но сам я книжки и без ВУЗа читать мог (эта скотина даже список литературы не выдала).
rrrFer вне форума Ответить с цитированием
Старый 28.02.2014, 16:53   #16
MaTBeu
Eclipse Foundation
Старожил
 
Аватар для MaTBeu
 
Регистрация: 19.09.2007
Сообщений: 2,604
По умолчанию

Цитата:
Сообщение от rrrFer Посмотреть сообщение
Задания в вузах ужасные кнешно. Зачем на дружественность целая лаба? Тем более задача без дружбы решается элегантно. ИМХО если в задаче делается акцент на какую-то фичу - то профит с этой фичи должен быть очевиден по решению задачи. И вообще, эту фичу надо рассмотреть всесторонне. Им вот стопудово не сказали - что дружба - это плохо.

Возмущаюсь потому, что у меня ООП тоже вел какой-то черт, который всю жизнь сети администрировал и сочетание букв ООП впервые в своем расписании увидел. Задания были такими же дебильными, говнокода была написана куча (нам вообще не говорили "как правильно", "что хорошо, а что плохо"). Говнокодил пока сам книжки по теме читать не начал, но сам я книжки и без ВУЗа читать мог (эта скотина даже список литературы не выдала).
Ну если уж совсем углубляться, то действительно, дружественные классы редко кто использует в продакшне. Как и множественное наследование (которое даже создатель языка рекомендует заменять агрегацией). Но это не значит, что не нужно это все знать.

По идее ВУЗ вам должен дать темы, направления. Изучить и понять вы должны сами
MaTBeu вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Дружественные классы эллипс и круг dkii Общие вопросы C/C++ 21 04.03.2014 08:50
C++: Классы, перегрузка операторов, дружественные функции. Lingri Помощь студентам 6 20.09.2013 21:22
Дружественные классы и protected Stiker Помощь студентам 1 10.01.2013 00:57
Дружественные функции и классы Opiym Помощь студентам 1 05.04.2010 21:51