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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 16.11.2013, 20:55   #1
Alexandr-
Пользователь
 
Регистрация: 04.03.2013
Сообщений: 79
По умолчанию Дружественные функции

Создать класс «студент» (его фамилия, имя, год рождения и год поступления).
Написать:
а) член-функцию печати информации о студенте;
б) дружественные функции, реализующие поиск по имени, по году рождения.

Проблема у меня с 'б' пунктом. Сделал вроде все по примеру(который в самом низу) и в итоге после условия ничего не выводится... Помогите правильно вывести дружественную функцию...
Код:
#include <iostream>
#include <string>
using namespace std;
class Student {
	string surname;
	string name;
	int god_rojd;
	int god_post;
	friend void info(Student &);

public:
	Student() {}
	void info();
	void print();
};
void Student::info() {
cout<<"vvedite familiu"<<endl;
cin>>surname;
cout<<"vvedite imya"<<endl;
cin>>name;
cout<<"vvedite god rojdeniya"<<endl;
cin>>god_rojd;
cout<<"vvedite god postupleniya"<<endl;
cin>>god_post;	}	


void info(Student &h) 
    {int gr; 
cout<<"vvedite god rojdeniya"<<endl; cin>>gr;
       if (gr==h.god_rojd) cout<<h.surname<<endl;
    } 	


void Student::print() {
	cout<<endl<<"informaciya o studente"<<endl;
	cout<<surname<<endl<<name<<god_rojd<<endl<<god_post<<endl; }

int main () { int n,i;
Student post;
	 cout<<"vvedite kolichestvo studentov: "<<endl;cin>>n;
    Student* student=new Student[n];
	for(i=0;i<n;i++)
	student[i].info();
	for(i=0;i<n;i++)
	student[i].print();

info(post);	
system("pause"); return 0; }



Код:
#include <iostream>
using namespace std; 
class http
{
public:
http():size(0){}
private:
int size;
public:
friend void setsize(http &, int input);
void setsize(int input);
};
void setsize(http &h, int input)
{
h.size = input;
cout << "size = " << h.size;
cout << ", memory address: ";
cout << &h.size << endl;
}
void http::setsize(int input)
{
size = input;
cout << "size = " << size;
cout << ", memory address: ";
cout << &size << endl;
}
 
int main()
{
http post;
setsize(post, 10); // friend func
post.setsize(50); // class func
system("pause");
return 0;
}
Alexandr- вне форума Ответить с цитированием
Старый 16.11.2013, 21:27   #2
Son Of Pain
Участник клуба
 
Регистрация: 23.12.2010
Сообщений: 1,129
По умолчанию

Код:
info(post);
Как ты думаешь, что записано в переменной post в этот момент?
Son Of Pain вне форума Ответить с цитированием
Старый 16.11.2013, 22:36   #3
Alexandr-
Пользователь
 
Регистрация: 04.03.2013
Сообщений: 79
По умолчанию

Ничего, не подумал. Но все равно вопрос остается такой же - как тогда нужно?
Alexandr- вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Дружественные функции midiss Visual C++ 0 20.05.2013 19:11
Дружественные функции.Конструтор - копирования. licherr Общие вопросы C/C++ 1 12.11.2012 23:27
Дружественные функции Leon S.Kennedy Общие вопросы C/C++ 3 05.12.2011 17:22
Дружественные функции и классы Opiym Помощь студентам 1 05.04.2010 21:51