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

Определение элементов функции. - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Быстрая сортировка http://www.cyberforum.ru/cpp-beginners/thread383153.html
Есть три файла: Функция: #ifndef QUICK #define QUICK #include <vector> using namespace std; template<class T>
C++ где скачать книгу "Язык программирования C. Лекции и упражнения Стивен Прата" Подскажите у кого есть в електронном формате эта книга ? вот ссылка http://www.yakaboo.ua/ru/catalog/all/c-primer-plus-89173 http://www.cyberforum.ru/cpp-beginners/thread383150.html
Задачи на двумерный массив C++
По результатам метеорологических наблюдений за 10 последних лет известно количество солнечных дней в году для пяти морских курортов. Кроме этого известны расстояния до них. Оп-ределить курорт с наиболее благоприятным климатом (с максимальным суммарным количеством солнечных дней за время наблюдений). Если таких несколько, то вывести ближайший из них.
C++ Массивы
помогите я написал код а дальше че то уже в голову не лезит как до конца доделать вот задание В одномерном массиве {3.24, -7.16, 2.18, -0.16, -3.22, 7.14, 2.88, -3.20, -0.99, -4.15} вычислить: сжать массив, удалив из него все элементы, модуль которых находится в интервале . Освободившиеся в конце массива элементы заполнить нулями. вот код #include <iostream> #include <math.h>...
C++ Найти значение косинуса по формуле тейлора http://www.cyberforum.ru/cpp-beginners/thread383139.html
с точностью eps #include <iostream> #include <math.h> using namespace std; double vozv_v_n_step(double x, int n) { double k=1; for(int i=1;i<=n;i++) {
C++ Помогите решить . C++ Вести три действительных числа от -10 до 10. Возвести в квадрат те из них, значения которых неотрицательны, и в третью степень отрицательные . Вывести полученные значения. подробнее

Показать сообщение отдельно
TaiBos
0 / 0 / 0
Регистрация: 13.11.2011
Сообщений: 14
14.11.2011, 09:42  [ТС]     Определение элементов функции.
Цитата Сообщение от accept Посмотреть сообщение
надо в функцию print() передать вектор структур zap
А каким образом это можно сделать?
Я сделал так:

C++
1
2
3
4
5
6
7
8
9
10
11
void print(int i,People k) 
     {
     cout << "Name: " << k.Name << "\n Lastname: " << k.Lastname << endl;
     }
...
int main()
{
...
if (otv == "y") {while (n!=schet){print(schet,People[schet]);}} else {exit;}
...
}
Пишет-класс People недекларирован.

Цитата Сообщение от PointsEqual Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#include <iostream>
#include <algorithm>
#include <vector>
 
using namespace std;
 
 
struct People
{
    string Name;
    string Name2;
};
 
 
 
class Print: public unary_function<People, void>
{
public:
    void operator()(const People& s)
    {
        cout << s.Name << " " << s.Name2 << "\n";
    }
 
};
 
 
void print(const vector<People>& p)
{
     for_each(p.begin(), p.end(), Print());
}
 
 
 
int main ()
{
 
    vector<People> peoples;
 
    peoples.push_back(People{"n1", "n2"});
    peoples.push_back(People{"n11", "n22"});
    peoples.push_back(People{"n111", "n222"});
    peoples.push_back(People{"n1111", "n2222"});
    peoples.push_back(People{"n11111", "n22222"});
 
 
    print(peoples);
}
Тут для меня тёмный лес.=)
Не могли бы вы объяснить:

C++
1
2
3
4
class Print: public unary_function<People>, void>
{
public:
};
*Тут я вовсе ничего не понял.Создали класс print.Если я не ошибаюсь,согласно синтаксису мы после названия класса не можем поставить ":".Поиск по поводу
C++
1
public unary_function
ничего не дал.Что это за характеристика класса?

Вообще,для меня немного странно:
class Print: public unary_function<People>, void>
В классе 2 характеристики public,к тому же непонятно,к чему относится void и почему он в конце всего этого дела.

Потом идет:

C++
1
2
3
4
   void operator()(const People& s)
        {
                cout << s.Name << " " << s.Name2 << "\n";
        }
Положим,operator-это название ничего не возвращающей функции,ибо на запрос "c++ operator()" гугл отвечает непониманием.Ее аргумент-константный указатель на-что?
Непонятно логическое построение функции.Мы получаем указатель на номер элемента массива?

C++
1
2
3
4
void print(const vector<People>& p)
{
     for_each(p.begin(), p.end(), Print());
}
Не могли бы вы объяснить,что в данном случае является аргументами функции и что такое for_each?
Это похоже на цикл (for_each) и на что-то простое/стандартное,но я этого почему-то не знаю,и гугл знает только foreach.
Тоже самое и с push_back.Я неверное не умею пользоваться поисковиками.

Учусь самостоятельно,по 2-м книгам:c++ для чайников и по Страуструпу.В обоих случаях синтаксис языка резко отличается от вашего,поэтому наверное я ничего не понимаю.
Заранее спасибо.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru