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

Шаблоны STL - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ OpenGL, работа с освещением http://www.cyberforum.ru/cpp-beginners/thread932221.html
Здравствуйте. Пробую себя в игростроении. Нарисовал трехмерный домик, физику сделал - можно бегать по поверхностям, прыгать, не проходить сквозь стены - все вроде бы работает. И тут встал вопрос об освещении... Использую уроки от NeHe, там про освщение написано, сделал как говорилось. Заработало. Но заметил несколько странностей(с заданием параметров освещения немного разобрался): 1) Освещение...
C++ Вывод символа из таблицы ASCII Всем добрый вечер! Небольшой ступор Пытаюсь в консоли вывести символ - 156 Это символ фунта (денежная единица). #include <iostream> .... cout << '\x9C' << endl; .... http://www.cyberforum.ru/cpp-beginners/thread932209.html
C++ Математическая задачка
В качестве f(x) использовать по выбору: sin(x), х , ех
Задание вычислить за минимальное число операций C++
Дано действительное число х. Не пользуясь никакими другими арифметическими операциями, кроме умножения, сложения и вычитания, вычислить за минимальное число операций 2х4 - Зх3 + 4.х2 - 5х + 6.
C++ Вычислить по формуле http://www.cyberforum.ru/cpp-beginners/thread932176.html
Вычислить по формуле: 2^(-x) - cos(x) + sin(2xy)
C++ Классы в структуре Добрый вечер. Вопрос первый: какой из контейнеров STL наиболее целесообразней использовать, если предполагаются частые операции поиска в этом контейнере? Вопрос второй: полагаю, что ответ на первый вопрос будет - map, и если это так, то у map есть ключ и значение. Так вот... Ключ у меня описывается двумя объектами одного класса. Как мне это сделать. Самое логичное, что приходит на ум, это... подробнее

Показать сообщение отдельно
Ronan
1 / 1 / 0
Регистрация: 28.06.2013
Сообщений: 29
01.08.2013, 21:25     Шаблоны STL
Здраствуйте. У меня задача такая: робота со стандарными шаблонами. Мне нужно заполнить контейнер пользовательским типом даных, тоесть класом. У меня написан клас (по возможности проверть перегрузку фкнкции) но я никак не могу создать массив vector<Student> VStudent(4); не понимаю почему. пример в книге точно такой же, и все работает. не могу проверить размер контейнера c помощью VStuden.size()
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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
#include <iostream>
#include <vector>
#include <list>
#include <algorithm>
#include <string>
using namespace std;
 
class Student{
public:
    Student();
    Student(string name,int age,float mark);
    Student(Student &rhs);
    ~Student(){}
    void SetName(string & name) {his_name=name;}
    string GetName () const {return his_name;}
    void SetAge (int age){his_age=age;}
    int GetAge () const {return his_age;}
    void SetMark (float mark){his_mark=mark;}
    int GetMark () const {return his_mark;}
    Student & operator = (const Student&);
    static int count;
    friend istream& operator>>(istream& is,Student &rhs);
    friend ostream& operator<<(ostream& os, const Student& rhs);
 
private:
    string his_name;
    int his_age;
    float his_mark;
};
 
 
Student::Student():his_name("Student"),his_age(17),his_mark(4.5){
    count++;
 
}
Student::Student(string name,int age,float mark){
    his_name=name;
    his_age=age;
    his_mark=mark;
    count++;
}
Student::Student(Student &rhs):
his_name(rhs.GetName()),
his_age(rhs.GetAge()),
his_mark(rhs.GetMark())
{}
Student & Student :: operator =(const Student & rhs){
    his_name=rhs.GetName();
    his_age=rhs.GetAge();
    his_mark=rhs.GetMark();
    return *this;
 
}
ostream& operator<<(ostream& os, const Student& rhs)
{
   os << rhs.GetName() << " is " << rhs.GetAge() << " years old and "<<"his mark is:"<<rhs.GetMark();
   return os;
}
istream& operator>>(istream& is,Student &rhs){
    is>>rhs.his_name;
    is>>rhs.his_age;
    is>>rhs.his_mark;
    return is;
}
int Student::count=0;
 
typedef vector<Student> StVec;
typedef list<Student> StList;
 
int main() {
 
    StVec Vstudent_array;
    StList Lstudent_array;
 
    Student Pavlo;
    Student Ivan("Ivan",17,4.5);
    Student Petro("Petro",18,4.0);
    Student Harry("harry",23,4.7);
    Student Mika("Mika",18,4.9);
    cout<<Student::count<<endl;
    StVec Vstudent(4);
    cout<<Vstudent_array.size()<<endl;
    cout<<Vstudent.size()<<endl;
 
    return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 16:24. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru