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

Передача свойств объектов между функциями - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Значение оператора "+=" http://www.cyberforum.ru/cpp-beginners/thread1006161.html
for (s1=1,k=1;k<m;k++) {s1 +=pow(-1,k)*k;} Сверху "+=", а не просто "=". А если убрать "+", то значение меняется. Почему так делал автор?
C++ Народ, как справиться с такой задачей: определить кол-во столбцов матрицы B, содержащих все положительные элементы определить кол-во столбцов матрицы B, содержащих все положительные элементы. Bkm=E в степени xk + E в степени ym / 2 где xk={2,7; 1; 4,1} ym={3,3; -2; 1; 2} http://www.cyberforum.ru/cpp-beginners/thread1006145.html
Спроецировать файл данных. спроецированный файл сохранить в другой указанный файл C++
помогите с программой! вот вроде бы должна быть рабочая версия, но не понимаю как избавиться от ошибок. заранее благодарен (если возможно - покажите ошибки и их исправление) #include <windows.h> #include <stdio.h> #include <string.h> void main() { char* lpMapAddress; DWORD nBytesWrite; int m;
Вывод в файл C++
Программа сгенерировала 20 чисел от 1 до 20 в случайном порядке. Необходимо упорядочить по возрастанию и вывести на экран в первоначальном виде и в упорядоченном , и сохранить в файл в упорядоченном виде. Буду вам очень благодарен если поможете разобраться с этим. Спасибо!!! Про сортировку пузырьком читал, если можно по подробнее процесс вывода в файл.
C++ как записать уравнение на языке C++? http://www.cyberforum.ru/cpp-beginners/thread1006126.html
n*(n-a)*(n-2a)*...*(n-na)/fact(n) как правильно записать?? n<10
C++ преобразование *this в std::shared_ptr Доброго времени суток уважаемые форумчане. у меня назрел такой вопрос, пишу программу в которой используется паттерн визитор и хотелось бы использовать умные указатели, но вот как передать в метод visit *this так и не понял, не судите строго=) вот примерный код того что есть(это только малая часть.) void CCircle::Accept( IGeometryObjectSerializerVisitor const& visitor,std::ofstream & strm )... подробнее

Показать сообщение отдельно
netmare
0 / 0 / 0
Регистрация: 29.10.2013
Сообщений: 7
13.11.2013, 00:33     Передача свойств объектов между функциями
Народ, I need help!
Есть класс:
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
class Employees {
public:
    Employees();
    Employees(std::string _Surname, std::string _Name, std::string _Occupation, int _YearOfEmployment);
    int GetYear();
    
    std::string GetName();
    std::string GetSurname();
    std::string GetOccupation();
    void SetName (std::string _Name);
    void SetSurname (std::string _Surname);
    void SetOccupation (std::string _Occupation);
    void SetYear (int _YearOfEmployment);
private:
    std::string Surname;
    std::string Name;
    std::string Occupation;
    int YearOfEmployment;
};

Есть функция 1, которая задает свойства объекта:
Кликните здесь для просмотра всего текста
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
void ManualInput () {
    setlocale(LC_ALL, "Russian");
    std::string nbuf,sbuf,obuf;
    int sName, dbuf;
    Employees Emp3[2];  
    int max = Emp3[0].GetYear();
    for (int i=0;i<2;i++) {
    std::cout << "Введите имя:";
    cin >> nbuf;
    Emp3[i].SetName(nbuf);
    std::cout << "Введите фамилию:";
    cin >> sbuf;
    Emp3[i].SetSurname(sbuf);
    std::cout << "Введите профессию:";
    cin >> obuf;
    Emp3[i].SetOccupation(obuf);
    std::cout << "Введите год приема:";
    cin >> dbuf;
    Emp3[i].SetYear(dbuf);
    std::cout << i << ". " << Emp3[i].GetName() << std::endl;
    }
    for(int i=0;i<2;i++) {
        if(max<Emp3[i].GetYear())
        max=Emp3[i].GetYear();
}
    std::cout << "Последний работник принят в " << max << " году" << std::endl;
}

Есть функция 2, которая по сути дела должна редактировать свойства выбранного объекта:
Кликните здесь для просмотра всего текста
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
void EditEmployess () {
    setlocale(LC_ALL, "Russian");
    int sName, dbuf;
    std::string nbuf,sbuf,obuf;
    Employees Emp3[2];  
    
    std::cout << "Введите номер записи:";
    cin >> sName;
    for (int i=0;i<2;i++){
        if (i == sName) {
    std::cout << "Имя:" <<Emp3[i].GetName() << std::endl;
    std::cout << "Фамилия:" << Emp3[i].GetSurname() << std::endl;
    std::cout << "Должность:" << Emp3[i].GetOccupation() << std::endl;
    std::cout << "Год принятия:" << Emp3[i].GetYear() << std::endl;
    } else { 
        std::cout << "Записи не существует" << std::endl;
        break;
        }
    std::cout << "Введите  имя:";
    cin >> nbuf;
    Emp3[i].SetName(nbuf);
    std::cout << "Введите фамилию:";
    cin >> sbuf;
    Emp3[i].SetSurname(sbuf);
    std::cout << "Введите профессию:";
    cin >> obuf;
    Emp3[i].SetOccupation(obuf);
    std::cout << "Введите год приема:";
    cin >> dbuf;
    Emp3[i].SetYear(dbuf);
    }
}


Проблема в том, что при вызове объекта Emp3[i], почему то не передаются значения, которые мы задавали в функции ввода данных. То есть когда я ввожу номер записи, например 1 - выдает, что записи не существует.
Я никак не могу понять каким образом можно передавать объекты и их свойства между функциями

Заранее спасибо за помощь
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 09:55. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru