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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
d3n1sk4
3 / 3 / 1
Регистрация: 11.11.2012
Сообщений: 29
#1

Классы - C++

07.12.2012, 12:42. Просмотров 289. Ответов 8
Метки нет (Все метки)

Здравствуйте, изучаю классы есть задание.

Кое как сделал для имени и фамилии, а для зарплаты не получается.
Прошу помогите и исправьте если что в моем коде

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
#include <iostream>
#include <string>
#include "Employe.h"
 
using namespace std;
 
employe::employe(string name,string sureName)
{
    setName(name);
    setSureName(sureName);
}
 
void employe:: setName(string newName)
{
    name = newName;
}
string employe::getName()
{
    return name;
}
 
void employe::setSureName(string newSureName)
{
    sureName = newSureName;
} 
string employe::getSureName()
{
    return sureName;
}
void employe::displayMessage()
{
    cout << getName()<< " " << getSureName()<< " " <<;
}
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include <string>
 
using namespace std;
 
class employe
{
private:
    string name,sureName;
public:
    employe(string,string);
    void setName(string);
    string getName();
    void setSureName(string);
    string getSureName();
    void displayMessage();
};
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.12.2012, 12:42     Классы
Посмотрите здесь:

Классы C++
C++ КЛАССЫ
C++ Классы
классы C++
С++ классы C++
классы C++
C++ классы
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
d3n1sk4
3 / 3 / 1
Регистрация: 11.11.2012
Сообщений: 29
07.12.2012, 14:43  [ТС]     Классы #2
поможите?
Kuzia domovenok
07.12.2012, 15:09
  #3

Не по теме:

Цитата Сообщение от d3n1sk4 Посмотреть сообщение
поможите?
поможете

John Prick
758 / 691 / 124
Регистрация: 27.07.2012
Сообщений: 1,980
Завершенные тесты: 3
07.12.2012, 15:09     Классы #4
"Поможите люди добрые!"
Так в чём сложность-то? Добавь ещё одно поле int salary; и методы set/get для него.
d3n1sk4
3 / 3 / 1
Регистрация: 11.11.2012
Сообщений: 29
07.12.2012, 17:07  [ТС]     Классы #5
Цитата Сообщение от John Prick Посмотреть сообщение
"Поможите люди добрые!"
Так в чём сложность-то? Добавь ещё одно поле int salary; и методы set/get для него.
А в моем коде который сейчас, все правильно?
Croessmah
Модератор
Эксперт CЭксперт С++
12730 / 7190 / 802
Регистрация: 27.09.2012
Сообщений: 17,738
Записей в блоге: 2
Завершенные тесты: 1
07.12.2012, 17:41     Классы #6
Цитата Сообщение от d3n1sk4 Посмотреть сообщение
А в моем коде который сейчас, все правильно?
может лучше передавать/возвращать ссылки или указатели, а не копии строк?
d3n1sk4
3 / 3 / 1
Регистрация: 11.11.2012
Сообщений: 29
07.12.2012, 17:44  [ТС]     Классы #7
Цитата Сообщение от Croessmah Посмотреть сообщение
может лучше передавать/возвращать ссылки или указатели, а не копии строк?
Не понял
Croessmah
Модератор
Эксперт CЭксперт С++
12730 / 7190 / 802
Регистрация: 27.09.2012
Сообщений: 17,738
Записей в блоге: 2
Завершенные тесты: 1
07.12.2012, 17:48     Классы #8
Цитата Сообщение от d3n1sk4 Посмотреть сообщение
Не понял
что тут не понятного7 или Вы с ссылками еще не знакомились?
C++
1
2
3
4
5
employe::employe(string name,string sureName)
{
    setName(name);
    setSureName(sureName);
}
Здесь, например, будет создана копия name, потом, данная копия передается в setName
C++
1
2
3
4
void employe:: setName(string newName)
{
    name = newName;
}
здесь создается еще одна копия - newName, потом с этой копии делается копия, которая и будет this->name.
С sureName ситуация та же
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.12.2012, 17:55     Классы
Еще ссылки по теме:

C++ Классы
Классы С++ C++
C++ Классы С++
Классы?! C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
MrGluck
Ворчун
Эксперт CЭксперт С++
6456 / 3654 / 459
Регистрация: 29.11.2010
Сообщений: 9,650
07.12.2012, 17:55     Классы #9
C++
1
2
3
4
void employe::displayMessage()
{
    cout << getName()<< " " << getSureName()<< " " <<;
}
А почему не
C++
1
2
3
4
void employe::displayMessage()
{
    cout << name<< " " << sureName<< " ";
}
И зачем последний оператор << ?
Я бы порекомендовал создать конструктор по-умолчанию employe::employe() {} дабы массив все равно понадобится.

Желательно
C++
1
using namespace std;
хотя бы из заголовочного файла убрать.
И что мешает по аналогии добавить новое поле int, set, get методы к нему, а также чуточку изменить конструктор?
Ну и про константные ссылки для std::string уже выше сказали.
Yandex
Объявления
07.12.2012, 17:55     Классы
Ответ Создать тему
Опции темы

Текущее время: 05:44. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru