Форум программистов, компьютерный форум 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) { подробнее

Показать сообщение отдельно
Dimka-novitsek
14 / 14 / 0
Регистрация: 26.04.2012
Сообщений: 1,091
11.09.2013, 13:35     Действие конструктора вобще не понял
Вобще не понял, зачем нужен конструктор.
Ведь написано Как же инициализировать переменные-члены класса? Для этого в классе используется специальная функция-член, называемая конструктором.

Я думал, конструктор нужен только потому, что в классе нельзя написать просто int initialAge=5 и как- либо работать с переменной.

Я теперь наоборот в легком шоке. Переменную, инициализированную в конструкторе, не видно! Так таки зачем он тогда нужен??

Если можно, приведите пару-тройку понятных примеров использования конструктора, пожалуста! Где он и каким бывает и что и как делает.

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
93
#include <string> 
#include <iostream> // для объекта cout
using namespace std;
 
#include<iomanip>
//Этот файл содержит большую часть манипуляторов C++. Если вы не знаете, что такое манипулятор, не беспокойтесь. Просто подключите это файл вместе с iostream, хуже не станет.
#include<fstream> 
//Подключается при работе с файлами.
 
   class Cat
        {
     public:
        
        Cat(int initialAge=5); 
        ~Cat();
        int GetAge() const; // метод доступа const функция доступа к данным-членам класса без права их изменения
        void SetAge (int age);
        void Meow();
        void Wydam()  {Bam();};   //статический метод
        int Bgsamm();
        void Metod(int);
      private:
        int itsAge; // статические переменные класса (Статическое поле)
        int B;
        
    //  Cat(){itsAge=0; B=8;};
        void Bam( ){cout << "Wydam\n";
                                  int BG=itsAge+ B;
                                  cout << BG;   } 
        
        };
                                          
 // конструктор класса Cat
  Cat::Cat(int initialAge)
   {
   itsAge = initialAge;
   cout << "Cat constructor\n";
   }
 
  Cat::~Cat() // деструктор, который не выполняет никаких действий
  {
  cout << "Cat destructor\n";
  }
 
 
 
 int Cat::Bgsamm() 
 {
  return (itsAge++); 
 }
 
 
 
 
 // определение функции SetAge как открытого
 // метода доступа к данным класса
 void Cat::SetAge(int age)
 {
    // присваиваем переменной-члену itsAge
    // значение переданного парйметра age
  itsAge = age;
 }
 
 
 
      // Определение метода Meow
      // возвращает void
      // параметров нет
      // используется для вывода на экран текста "Meow"
  void Cat::Meow()
  {
  cout << "Meow.\n";
  }
 
 
 
  Cat obyekt;
  void Cat::Metod (int tselaya=100) //обычный метод
  {tselaya=tselaya+initialAge; cout << tselaya;cout << "  целая\n";}      
 
 int main()
 {
     Cat Frisky; 
     Frisky.Meow();
    
     cout << obyekt.GetAge();
     obyekt.Bgsamm();
     obyekt.Wydam();
     obyekt. Bam();
     obyekt.Metod();
     system("pause");
    return 0;
 }

1>d:\проги\resheniecathapi8pi\cathapi8pi\cathapi8pi.cpp(79): error C2065: initialAge: необъявленный идентификатор
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 02:12. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru