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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 59, средняя оценка - 4.78
Sylar9
-20 / 55 / 2
Регистрация: 04.09.2011
Сообщений: 1,931
Записей в блоге: 1
#1

Не могу понять зачем нужны классы - C++

10.11.2011, 13:05. Просмотров 7916. Ответов 34
Метки нет (Все метки)

Обьяснити начинающему программисту зачем нужны классы???
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.11.2011, 13:05
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Не могу понять зачем нужны классы (C++):

Не могу понять зачем нужны указатели? - C++
Не как не могу понять зачем нужны указатели. Я знаю что их надо использовать для выделения памяти, но раньше я и без них обходился

Зачем нужны классы? - C++
Изучаю СИ++ после изучения СИ. Не пойму какой смысл в классах. То что они делают можно реализовать с помощью функций, структур и обычных...

Зачем нужны классы и структуры? - C++
1. Зачем нужны классы? 2. Зачем нужны аргументы в main()? 3. Зачем нужны структуры. struct *имя*{}?

Не могу понять зачем строчка - C++
вот допустим задание Написать программу на языке Си, которая состоит из следующих действий: 1. Создание заголовочного файла (с...

НЕ могу понять классы - C++
Помогите реализовать с коментарии: "Разработайте и реализуйте класс Name_pa±rs, содержащий пару (имя,возраст), где имя— объект класса...

Не могу понять задание,пожалуйста.Классы - C++
Реализовать в задании три конструктора (без аргументов, инициализации, копирования) и деструктор. Реализовать в конструкторе...

34
mimicria
return (true);
1958 / 1095 / 91
Регистрация: 19.04.2011
Сообщений: 2,345
10.11.2011, 13:14 #2
Цитата Сообщение от Sylar9 Посмотреть сообщение
Обьяснити начинающему программисту зачем нужны классы???

Не по теме:

Основное правило классов - если Вы не понимаете, зачем нужны классы, то они вам ещё не нужны


ООП придумали для упрощения разработки сложных проектов, при написании Hello world они вам точно не понадобятся.
1
programina
1914 / 599 / 37
Регистрация: 23.10.2011
Сообщений: 4,468
Записей в блоге: 2
10.11.2011, 13:14 #3
Классы нужны чтобы создавать своих типов. Например если тебе не хватит bool, int, float, double, то ты сделаешь себе сколько захочешь.

А на самом деле:
Классы придумали для того чтобы еще больше запутать программирование.
1
Байт
Эксперт C
16345 / 10621 / 1590
Регистрация: 24.12.2010
Сообщений: 20,258
10.11.2011, 13:20 #4
Цитата Сообщение от programina Посмотреть сообщение
Классы нужны чтобы создавать своих типов. Например если тебе не хватит bool, int, float, double, то ты сделаешь себе сколько захочешь.

А на самом деле:
Классы придумали для того чтобы еще больше запутать программирование.
Чтобы создавать своих типов достаточно обычных struct

Добавлено через 1 минуту
Цитата Сообщение от Sylar9 Посмотреть сообщение
Обьяснити начинающему программисту зачем нужны классы???

Не по теме:

Как писал поэт "Сапоги, ну куда от них денешься..."

0
Sylar9
-20 / 55 / 2
Регистрация: 04.09.2011
Сообщений: 1,931
Записей в блоге: 1
10.11.2011, 13:21  [ТС] #5
Цитата Сообщение от programina Посмотреть сообщение
Классы нужны чтобы создавать своих типов. Например если тебе не хватит bool, int, float, double, то ты сделаешь себе сколько захочешь.

А на самом деле:
Классы придумали для того чтобы еще больше запутать программирование.
В чем тут ошибка
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
#include <iostream>
#include <string>
using namespace std;
class Homme
{
      public:
            GetName();
             GetAge();
  
  private:
          string name;
          int  age;  
 
};
string GetName (string n) 
{return n;}
int GetAge (int a)
{return a;}
int main()
{
   int age;
   cin >> age;
   Home h;
   age=h.GetAge();
   cout << "Возраст"<< h.GetAge() << endl;
 
system("pause");
return 0;
}
0
Байт
Эксперт C
16345 / 10621 / 1590
Регистрация: 24.12.2010
Сообщений: 20,258
10.11.2011, 13:24 #6
Sylar9, Ошибок столько, что разбегаются глаза и вянут уши. Ты хоть посмотрел, что транслятор говорит?
0
Sylar9
-20 / 55 / 2
Регистрация: 04.09.2011
Сообщений: 1,931
Записей в блоге: 1
10.11.2011, 13:27  [ТС] #7
Цитата Сообщение от Байт Посмотреть сообщение
Sylar9, Ошибок столько, что разбегаются глаза и вянут уши. Ты хоть посмотрел, что транслятор говорит?
Вот код:
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
#include <iostream>
#include <string>
using namespace std;
class Homme
{
      public:
            GetName();
             GetAge();
  
  private:
          string name;
          int  age;  
 
};
Homme::Home(string nn, int ag)
{
    name=nn;
    age=ag;
}
string GetName (string n) 
{return n;}
int GetAge (int a)
{return a;}
int main()
{
   int age;
   cin >> age;
   Home h;
   age=h.GetAge();
   cout << "Возраст"<< h.GetAge() << endl;
 
system("pause");
return 0;
}
Вот ощибки:
7 C:\Documents and Settings\111\Рабочий стол\Класс.cpp ISO C++ forbids declaration of `GetName' with no type

8 C:\Documents and Settings\111\Рабочий стол\Класс.cpp ISO C++ forbids declaration of `GetAge' with no type

16 C:\Documents and Settings\111\Рабочий стол\Класс.cpp ISO C++ forbids declaration of `Home' with no type

16 C:\Documents and Settings\111\Рабочий стол\Класс.cpp no `int Homme::Home(std::string, int)' member function declared in class `Homme'

C:\Documents and Settings\111\Рабочий стол\Класс.cpp In function `int main()':

28 C:\Documents and Settings\111\Рабочий стол\Класс.cpp `Home' undeclared (first use this function)
(Each undeclared identifier is reported only once for each function it appears in.)

28 C:\Documents and Settings\111\Рабочий стол\Класс.cpp expected `;' before "h"

29 C:\Documents and Settings\111\Рабочий стол\Класс.cpp `h' undeclared (first use this function)
0
programina
1914 / 599 / 37
Регистрация: 23.10.2011
Сообщений: 4,468
Записей в блоге: 2
10.11.2011, 13:30 #8
Написано Class Homme
0
Dekio
Фрилансер
Эксперт С++
5837 / 1218 / 214
Регистрация: 23.11.2010
Сообщений: 3,378
Записей в блоге: 1
10.11.2011, 13:34 #9
Sylar9, сплошной бред, а не код

Цитата Сообщение от Sylar9 Посмотреть сообщение
public: GetName(); GetAge();
где типы функций?


Цитата Сообщение от Sylar9 Посмотреть сообщение
Homme::Home(string nn, int ag) { name=nn; age=ag; }
Это что такое, конструктор?


Цитата Сообщение от Sylar9 Посмотреть сообщение
Home h;
Класс Homme
0
programina
1914 / 599 / 37
Регистрация: 23.10.2011
Сообщений: 4,468
Записей в блоге: 2
10.11.2011, 13:34 #10
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
#include <iostream>
#include <string>
 
using namespace std;
 
class Home
{
    public:
        string GetName();
        int GetAge();
 
    private:
        string name;
        int  age;
 
};
 
string GetName (string n) {
    return n;
    }
 
int GetAge (int a) {
    return a;
    }
 
int main()
{
    int age;
    cin >> age;
 
    Home h;
    age = h.GetAge();
    cout << "Возраст" << h.GetAge() << endl;
 
    system("pause");
    return 0;
}
0
Sylar9
-20 / 55 / 2
Регистрация: 04.09.2011
Сообщений: 1,931
Записей в блоге: 1
10.11.2011, 13:36  [ТС] #11
Цитата Сообщение от Dekio Посмотреть сообщение
Sylar9, сплошной бред, а не код


где типы функций?



Это что такое, конструктор?



Класс Homme

Испаввил все равно ошибки
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
#include <iostream>
#include <string>
using namespace std;
class Homme
{
      public:
          string  GetName();
            int  GetAge();
  
  private:
          string name;
          int  age;  
 
};
 
string GetName (string n) 
{return n;}
int GetAge (int a)
{return a;}
int main()
{
   int age;
   cin >> age;
   Homme h;
   age=h.GetAge();
   cout << "Возраст"<< h.GetAge() << endl;
 
system("pause");
return 0;
}
[Linker error] undefined reference to `Homme::GetAge()'
[Linker error] undefined reference to `Homme::GetAge()'
ld returned 1 exit status
0
Dekio
Фрилансер
Эксперт С++
5837 / 1218 / 214
Регистрация: 23.11.2010
Сообщений: 3,378
Записей в блоге: 1
10.11.2011, 13:38 #12
Цитата Сообщение от programina Посмотреть сообщение
int GetAge (int a) {
Цитата Сообщение от programina Посмотреть сообщение
age = h.GetAge();
Ну и где int a потеряли?
1
soon
2542 / 1307 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
10.11.2011, 13:39 #13
Цитата Сообщение от Sylar9 Посмотреть сообщение
string GetName (string n)
В конце концов, книгу откройте.
C++
1
string Homme::GetName(string n)
И на прототипы функций в классе гляньте. Ни int, ни string передаваемых там нет.
0
Sylar9
-20 / 55 / 2
Регистрация: 04.09.2011
Сообщений: 1,931
Записей в блоге: 1
10.11.2011, 13:39  [ТС] #14
Цитата Сообщение от Dekio Посмотреть сообщение
Ну и где int a потеряли?
не могу понять что имеено надо исправить
0
ValeryLaptev
Эксперт С++
1041 / 820 / 48
Регистрация: 30.04.2011
Сообщений: 1,659
10.11.2011, 13:40 #15
Цитата Сообщение от Байт Посмотреть сообщение
Чтобы создавать своих типов достаточно обычных struct
Не достаточно. Структ - это только структура данных. Нужно еще поведение - методы.
0
10.11.2011, 13:40
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.11.2011, 13:40
Привет! Вот еще темы с ответами:

Не могу понять классы. Как их наполнить данными? - C++
Добрый день, форумчане. Пытаюсь изучить классы в ООП, и не могу понять, как с ними работать. Помогите разобраться, к примеру, есть два...

Учу классы. Не запускается простейшая прога.Не могу понять причину - C++
#include &quot;stdafx.h&quot; #include &lt;stdio.h&gt; #include &lt;iostream&gt; #include &lt;string&gt; using namespace std; class MyDogs{ public: int...

Зачем биты нужны это меньше байтов но int 32 бита но я не допер зачем это нужно это 4 байта то есть int не может больше 4 байт весить? - C++
Вот еще один вопрос зачем биты нужны это меньше байтов но int 32 бита но я не допер зачем это нужно это 4 байта то есть int не может...

Зачем нужны макросы? - C++
Зачем нужны макросы?


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

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

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