7 / 9 / 4
Регистрация: 25.02.2017
Сообщений: 139
1

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

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

Author24 — интернет-сервис помощи студентам
Привет. Есть структура, содержащая 7 полей, в которые я ввожу значения с клавиатуры. Нужно используя конструкторы и деструкторы редактировать информацию структуры. Можете показать как это сделать на любом примере?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.02.2017, 21:44
Ответы с готовыми решениями:

Конструкторы и деструкторы
Создать класс LongLong для работы с целыми числами из 64 бит. Число должно быть представлено двумя...

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

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

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

11
2549 / 1208 / 358
Регистрация: 30.11.2013
Сообщений: 3,826
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
1943 / 1768 / 825
Регистрация: 23.01.2014
Сообщений: 6,230
25.02.2017, 22:31 3
Цитата Сообщение от Крок Посмотреть сообщение
Нужно используя конструкторы и деструкторы редактировать информацию структуры.
Конструктор создает объект, то есть вызывается при создании объекта. Деструктор разрушает объект, то есть вызывается при разрушении объекта. Они не редактируют свойства объекта.
0
2549 / 1208 / 358
Регистрация: 30.11.2013
Сообщений: 3,826
25.02.2017, 23:10 4
Цитата Сообщение от pav1uxa Посмотреть сообщение
Конструктор ..... Деструктор .... Они не редактируют свойства объекта.
Держите нас в курсе!
1
1943 / 1768 / 825
Регистрация: 23.01.2014
Сообщений: 6,230
25.02.2017, 23:36 5
Цитата Сообщение от rikimaru2013 Посмотреть сообщение
Держите нас в курсе!
Ну создал ты объект mySelf, давай отредактируй его свойства конструктором...
0
284 / 232 / 114
Регистрация: 07.09.2016
Сообщений: 584
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
Комп_Оратор)
Эксперт по математике/физике
8949 / 4703 / 629
Регистрация: 04.12.2011
Сообщений: 13,999
Записей в блоге: 16
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
284 / 232 / 114
Регистрация: 07.09.2016
Сообщений: 584
26.02.2017, 12:25 8
какое же это редактирование полей. тут скорее инициализация. раз автор просил редактирование с помощью конструктора - он его и получил )
0
Комп_Оратор)
Эксперт по математике/физике
8949 / 4703 / 629
Регистрация: 04.12.2011
Сообщений: 13,999
Записей в блоге: 16
26.02.2017, 15:00 9
Цитата Сообщение от DU3 Посмотреть сообщение
раз автор просил редактирование с помощью конструктора - он его и получил
дык я же и говорю, что использую скучный приём. Причём жменьку кода для ввода можно бы оформить статическим методом.
А если редактировать в деструкторе, то это самое конспиративное занятие для объекта. Получить то что нужно, использовать и сразу (или даже чуть раньше) уничтожить. Идеально, совершенно. Вообще, весь функционал должен быть в деструкторе. Существование полей - не гарантировано. Но зато острота ощущений гарантирована. И враг не узнает, ничего.
0
Эксперт С++
8739 / 4317 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
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
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.02.2017, 19:13

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

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

Конструкторы и деструкторы
Здравствуйте!Помогите пожалуйста с решением данной задачи, Буду премного благодарен за оказанную...

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


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru