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

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

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

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

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

Обьяснити начинающему программисту зачем нужны классы???
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++
Реализовать в задании три конструктора (без аргументов, инициализации, копирования) и деструктор. Реализовать в конструкторе...

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

Не по теме:

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


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

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

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

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

Не по теме:

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

Sylar9
-20 / 55 / 2
Регистрация: 04.09.2011
Сообщений: 1,925
Записей в блоге: 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;
}
Байт
Эксперт C
15984 / 10252 / 1536
Регистрация: 24.12.2010
Сообщений: 19,336
10.11.2011, 13:24 #6
Sylar9, Ошибок столько, что разбегаются глаза и вянут уши. Ты хоть посмотрел, что транслятор говорит?
Sylar9
-20 / 55 / 2
Регистрация: 04.09.2011
Сообщений: 1,925
Записей в блоге: 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)
programina
1914 / 599 / 37
Регистрация: 23.10.2011
Сообщений: 4,468
Записей в блоге: 2
10.11.2011, 13:30 #8
Написано Class Homme
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
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;
}
Sylar9
-20 / 55 / 2
Регистрация: 04.09.2011
Сообщений: 1,925
Записей в блоге: 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
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 потеряли?
soon
2540 / 1305 / 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 передаваемых там нет.
Sylar9
-20 / 55 / 2
Регистрация: 04.09.2011
Сообщений: 1,925
Записей в блоге: 1
10.11.2011, 13:39  [ТС] #14
Цитата Сообщение от Dekio Посмотреть сообщение
Ну и где int a потеряли?
не могу понять что имеено надо исправить
ValeryLaptev
Эксперт С++
1040 / 819 / 48
Регистрация: 30.04.2011
Сообщений: 1,659
10.11.2011, 13:40 #15
Цитата Сообщение от Байт Посмотреть сообщение
Чтобы создавать своих типов достаточно обычных struct
Не достаточно. Структ - это только структура данных. Нужно еще поведение - методы.
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++
Зачем нужны макросы?


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
10.11.2011, 13:40
Ответ Создать тему
Опции темы

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