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

Действие конструктора вобще не понял - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Возрастающая последовательность http://www.cyberforum.ru/cpp-beginners/thread952349.html
Задание: Написать программу, которая проверяет, представляют ли элементы введенного с клавиатуры массива возрастающую последовательность. Код свой прикрепить не могу. Нужны простые примеры решения задания. Спасибо! :)
C++ О работе с динамическими двумерными (многомерными) массивами Всех с наступающим профессиональным праздником, многоуважаемые гуру С++! задачка простая - работа с данными в двумерном динамическом массиве (просто пример :) ) Код: #include <iostream> using namespace std; void Input(int**, int, int); void Output(int**, int, int); http://www.cyberforum.ru/cpp-beginners/thread952340.html
Вывести последовательность из цифр огромного числа C++
Задание во вложении. Собственно код: #include <iostream> #include <math.h> using namespace std; double factorial(int to); double exponential(int to, int basis);
Массив длиной 10 разделить на два массива четных и нечетных чисел C++
массив длиной 10 разделить на два массива четных и нечетных чисел #pragma hdrstop //--------------------------------------------------------------------------- #pragma argsused #include <iostream> #include <ctime> #include <iomanip>
C++ Найти произведение нечетных чисел, делящихся на 3 http://www.cyberforum.ru/cpp-beginners/thread952311.html
ввести с клавиатуры 10 элементов массива , отсортироваь их по убыванию ,сложить все четные и не четные ,найти произведение нечетных чисел делящихся на 3
C++ Выполнить программу с использованием пользовательских функций Помогите переписать данную программу, но уже с использованием пользовательских функций. #include <vcl.h> #pragma hdrstop #include <iostream.h> #include <math.h> #include <tchar.h> void main(void) { подробнее

Показать сообщение отдельно
SatanaXIII
Супер-модератор
Эксперт С++
 Аватар для SatanaXIII
5534 / 2568 / 234
Регистрация: 01.11.2011
Сообщений: 6,342
Завершенные тесты: 1
12.09.2013, 10:13     Действие конструктора вобще не понял
Dimka-novitsek, вы уж меня извините, но что за хренотень вы пытаетесь написать? Х) Точнее, во что вы хотите превратить код из учебника? Или это в книжке написано: "вот базовый код, а сейчас мы будем прикручивать к нему какой-нибудь безумнейший метод. Да так, чтобы все читающие еще и сломали себе глаза. Ах-ха-ха (гомерический смех автора)."?
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
87
88
89
90
91
92
#include <iostream>
 
using namespace std;
 
 
class Cat
{
public:
  Cat( int initialAge = 5 );
  ~Cat();
  int GetAge() const;
  void SetAge( int age );
  void Meow();
  int Bgsamm();
  void Metod( int );
private:
  int itsAge;
};
 
Cat::Cat(int initialAge)
  {
  itsAge = initialAge;
  cout << "Completed construction of a Cat" << endl;
  }
 
Cat::~Cat()
  {
  cout << "Cat destroyed. To death" << endl;
  }
 
int Cat::Bgsamm()      // Метод дня рождения?
  {
  return (itsAge++);
  }
 
void Cat::SetAge( int age )
  {
  itsAge = age;
  }
 
int Cat::GetAge()const
  {
  return itsAge;
  }
 
void Cat::Meow()
  {
  cout << "Meow." << endl;
  }
 
void Cat::Metod( int tselaya = 100 ) //// Метод выводит возраст кота
  {                                    //   с прибавкой по умолчанию ста лет (за каким-то чертом)
  tselaya = tselaya + GetAge();        //   (из раздела сколько бы было
  cout << tselaya << endl;             //      ему лет, через сто лет)
  }                                  ////    При чем сам возраст от этого не изменится
 
Cat obyekt; // Какой-то глобальный кот
 
int main()
{
  {
  Cat Frisky; // Кот, живущий только в main-е. (рождается по умолчанию пятилетним)
  Cat Barsik(666); // Барсик сразу рождается шестьсот шестьдесят шестидесяти летним
 
  Frisky.Meow(); // Фриски мяукает
  Barsik.Meow(); // Барсик мяукает
  obyekt.Meow(); // Объект мяукает
 
  cout << "obyekt age: " << obyekt.GetAge() << endl;; // Получить и вывести на экран возраст объекта
  int BarsikAge = Barsik.GetAge();                    // Получить и запомнить возраст Барсика (просто так)
 
  obyekt.Bgsamm(); // Состарить объект на один год
  Barsik.Bgsamm(); // День рождения Барсика
 
  cout << "obyekt age: " << obyekt.GetAge() << endl;; // Вывести текущий
  cout << "Barsik age: " << Barsik.GetAge() << endl;; //     возраст обоих
 
  Barsik.SetAge(1000);                               // Состарить Барсика до тысячелетнего возраста
  cout << "Barsik age: " << Barsik.GetAge() << endl; // Отобразить это
 
  obyekt.Metod();    // Выведет возраст объекта + 100
  Barsik.Metod(999); // Выведет возраст Барсика + 999
  }
 
system("pause");
 
bool DogEaster = false;
while(!DogEaster)       // Заставить объект мяукать
  obyekt.Meow();        //       до собачьей пасхи
 
return 0;
}
Вот. С вас пол часа моей жизни.


Цитата Сообщение от ___ Посмотреть сообщение
могу предположить, что деструктор вызывается сразу же после return 0; (в функции main).
и после этого программа сразу же закрывается, и результат "Cat destructor" просто не успеваешь рассмотреть
Угу. А у Объекта вообще деструктор вызовется только по завершению окна консоли.
 
Текущее время: 02:31. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru