Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Крок
7 / 9 / 4
Регистрация: 25.02.2017
Сообщений: 139
Завершенные тесты: 1
1

Конструкторы и деструкторы

25.02.2017, 21:44. Просмотров 289. Ответов 11
Метки нет (Все метки)

Привет. Есть структура, содержащая 7 полей, в которые я ввожу значения с клавиатуры. Нужно используя конструкторы и деструкторы редактировать информацию структуры. Можете показать как это сделать на любом примере?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.02.2017, 21:44
Ответы с готовыми решениями:

Конструкторы/Деструкторы
Доброго времени суток! Есть проблемка... после выполнении программа вылетает...

Конструкторы и деструкторы
Прочитал про конструкторы и деструкторы. Пишут что они нужны для инициализации...

Конструкторы и деструкторы
Код: #include <iostream> #include <stdlib.h> #include <conio.h> class ...

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

Конструкторы и деструкторы
Необходимо реализовать класс с двумя полями, имеющими имена first и second....

11
rikimaru2013
C++ Game Dev
2472 / 1141 / 348
Регистрация: 30.11.2013
Сообщений: 3,709
25.02.2017, 22:05 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
#include <iostream>
#include <string>
 
struct Person
{
    int m_age;
    std::string m_name;
 
    Person( const int age, const std::string& name )
        : m_age(age)
        , m_name(name)
    {
    }
};
int main()
{
    int age = 0;
    std::cin >> age;
 
    std::string name;
    std::getline( std::cin, name );
 
 
    Person mySelf(age, name);
    std::cout << mySelf.m_age << std::endl;
    std::cout << mySelf.m_name << std::endl;
}
0
pav1uxa
1857 / 1711 / 802
Регистрация: 23.01.2014
Сообщений: 6,082
Завершенные тесты: 1
25.02.2017, 22:31 3
Цитата Сообщение от Крок Посмотреть сообщение
Нужно используя конструкторы и деструкторы редактировать информацию структуры.
Конструктор создает объект, то есть вызывается при создании объекта. Деструктор разрушает объект, то есть вызывается при разрушении объекта. Они не редактируют свойства объекта.
0
rikimaru2013
C++ Game Dev
2472 / 1141 / 348
Регистрация: 30.11.2013
Сообщений: 3,709
25.02.2017, 23:10 4
Цитата Сообщение от pav1uxa Посмотреть сообщение
Конструктор ..... Деструктор .... Они не редактируют свойства объекта.
Держите нас в курсе!
1
pav1uxa
1857 / 1711 / 802
Регистрация: 23.01.2014
Сообщений: 6,082
Завершенные тесты: 1
25.02.2017, 23:36 5
Цитата Сообщение от rikimaru2013 Посмотреть сообщение
Держите нас в курсе!
Ну создал ты объект mySelf, давай отредактируй его свойства конструктором...
0
DU3
281 / 233 / 115
Регистрация: 07.09.2016
Сообщений: 587
26.02.2017, 00:36 6
а я придумал, как в конструкторе редактировать
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
#include <iostream>
#include <string>
 
class Obj
{
  int value;
 
public:
  Obj()
    : value()
  {
  }
 
  Obj(Obj& victim, int newValue)
  {
    victim.value = newValue;
  }
 
  void printValue()
  {
    std::cout << "value = " << value << std::endl;
  }
};
 
int main()
{
  Obj obj;
  obj.printValue();
  Obj(obj, 777);
  obj.printValue();
  return 0;
}
в деструкторе тоже можно так нахимичить
2
IGPIGP
Комп_Оратор)
Эксперт по математике/физике
7059 / 3362 / 455
Регистрация: 04.12.2011
Сообщений: 9,353
Записей в блоге: 5
26.02.2017, 01:12 7
Цитата Сообщение от DU3 Посмотреть сообщение
а я придумал, как в конструкторе редактировать
Конструктор принимающий неконстантную ссылку - страшная сила.
А мне нравится скучный приём:
C++
1
2
3
4
5
6
7
8
9
10
int a,b;
string s;
cout<<"\na ";
cin>>a;
cout<<"\nb ";
cin>>b;
cout<<"\ns ";
cin>>s;
Obana obana(a, b, s);
obana.show();
0
DU3
281 / 233 / 115
Регистрация: 07.09.2016
Сообщений: 587
26.02.2017, 12:25 8
какое же это редактирование полей. тут скорее инициализация. раз автор просил редактирование с помощью конструктора - он его и получил )
0
IGPIGP
Комп_Оратор)
Эксперт по математике/физике
7059 / 3362 / 455
Регистрация: 04.12.2011
Сообщений: 9,353
Записей в блоге: 5
26.02.2017, 15:00 9
Цитата Сообщение от DU3 Посмотреть сообщение
раз автор просил редактирование с помощью конструктора - он его и получил
дык я же и говорю, что использую скучный приём. Причём жменьку кода для ввода можно бы оформить статическим методом.
А если редактировать в деструкторе, то это самое конспиративное занятие для объекта. Получить то что нужно, использовать и сразу (или даже чуть раньше) уничтожить. Идеально, совершенно. Вообще, весь функционал должен быть в деструкторе. Существование полей - не гарантировано. Но зато острота ощущений гарантирована. И враг не узнает, ничего.
0
hoggy
Нарушитель
Эксперт С++
7088 / 3131 / 648
Регистрация: 15.11.2014
Сообщений: 7,211
Завершенные тесты: 1
26.02.2017, 15:04 10
Цитата Сообщение от IGPIGP Посмотреть сообщение
Вообще, весь функционал должен быть в деструкторе. Существование полей - не гарантировано. Но зато острота ощущений гарантирована. И враг не узнает, ничего
открытие века!
"шпиённо ориентированное программирование"!
1
IGPIGP
26.02.2017, 15:10
  #11

Не по теме:

Господа офицеры, нас продали! Мы в шопе!
/из жизни мужских, но очень нервных клеток при посещении магазина/

Цитата Сообщение от hoggy Посмотреть сообщение
"шпиённо ориентированное программирование"!
ШОПинг!

0
pav1uxa
26.02.2017, 19:13     Конструкторы и деструкторы
  #12

Не по теме:

Цитата Сообщение от DU3 Посмотреть сообщение
а я придумал, как в конструкторе редактировать
Вот это уже интереснее :D Но в подобных темах я бы таких штук не показывал, а то запомнят, решат что так надо, начнут использовать...

0
26.02.2017, 19:13
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.02.2017, 19:13
Привет! Вот еще темы с ответами:

Конструкторы и деструкторы
Не понимаю, как закончить программу. Написала конструктор и деструктор, хотя он...

Конструкторы и деструкторы
Здравствуйте уважаемые программисты, помогите пожалуйста новичку? Не могу...

Конструкторы и деструкторы
Напишите простейшие примеры объявления и определения конструкторов и...


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru