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

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

Войти
Регистрация
Восстановить пароль
 
Игорь с++
432 / 455 / 16
Регистрация: 26.01.2011
Сообщений: 2,032
#1

ООП - C++

27.09.2012, 17:46. Просмотров 479. Ответов 6
Метки нет (Все метки)

Господа у меня возникло 2 вопроса по ООП т.к. только не давно начал его изучать .
1) Не как не могу понять для чего умные люди его создали , т.е. в чём прелести использование его в программах , кому не трудно объясни те или дайте ссылку где можно по этому поводу подчерпнуть информации .
2) Допустим есть такой код -
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <cstdlib>
#include <iostream>
 
using namespace std;
 
class My{
      public:
             int a;
    
             }obj,*ukazatel;
 
int main(int argc, char *argv[])
{
    int number;
    
ukazatel = new My();
 
ukazatel->a=15 ;
    
    system("PAUSE");
    return EXIT_SUCCESS;
}
так вот как можно сделать что то типо такого - number = a ;
т.е. как целочисленному значению number находящаяся в функции main присвоить значение целочисленному значению - а которое находится в классе ?
Всем заранее огромное спасибо !!!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.09.2012, 17:46     ООП
Посмотрите здесь:

ООП на С++ C++
ООП C++
C++ ООП C++
C++ ООП
C++ по ООП .
C++ ООП
C++ ООП
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
panicwassano
591 / 559 / 20
Регистрация: 07.11.2010
Сообщений: 2,004
27.09.2012, 18:07     ООП #2
Цитата Сообщение от Игорь с++ Посмотреть сообщение
так вот как можно сделать что то типо такого - number = a ;
перегрузить оператор присваивания
ForEveR
Модератор
Эксперт С++
7958 / 4720 / 319
Регистрация: 24.06.2010
Сообщений: 10,525
Завершенные тесты: 3
27.09.2012, 18:13     ООП #3
panicwassano, Для int-a?)
Игорь с++, Взять объект класса и забрать его a. К примеру так

C++
1
2
3
4
    int number;
ukazatel = new My();
ukazatel->a=15 ;
number = ukazatel->a;
Nixy
ComfyMobile
400 / 281 / 8
Регистрация: 24.07.2012
Сообщений: 916
27.09.2012, 18:20     ООП #4
Цитата Сообщение от Игорь с++ Посмотреть сообщение
Не как не могу понять для чего умные люди его создали , т.е. в чём прелести использование его в программах , кому не трудно объясни те или дайте ссылку где можно по этому поводу подчерпнуть информации .
ну как учат в институтах, что за многие годы развития программирования накопилась огромная база процедур, ведь до ООП , был процедурный подход к решению задач, а создание объектов позволило инкапсулировать процедуры и данные, с которыми процедуры работают, как следствие упрощение в понимании кода, возможно даже уменьшение объема, но понятное дело не везде ООП нужно, так нас учили)
Игорь с++
432 / 455 / 16
Регистрация: 26.01.2011
Сообщений: 2,032
27.09.2012, 18:26  [ТС]     ООП #5
Цитата Сообщение от Nixy Посмотреть сообщение
ну как учат в институтах
Просто я не учусь в институте , а изучаю так лично для себя . Так что если , что извеняйте . Но всё равно спасибо за ответ !
Andsteadur
153 / 137 / 3
Регистрация: 23.05.2009
Сообщений: 275
27.09.2012, 19:07     ООП #6
Цитата Сообщение от Игорь с++ Посмотреть сообщение
так вот как можно сделать что то типо такого - number = a ;
можно еще определить оператор приведения типа, который будет возвращать значение a.
C++
1
2
3
4
5
6
7
8
9
10
11
class My{
public:
    My(int i):a(i){}
    int a;
    operator int(){return a;}
};
 
int main()
{
    int number = My(5);
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.09.2012, 19:16     ООП
Еще ссылки по теме:

C++ ООП
C++ ООП
C++ ООП
C++ ООП
ООП в С++ C++

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

Или воспользуйтесь поиском по форуму:
ProNoooob
72 / 72 / 6
Регистрация: 14.10.2009
Сообщений: 121
27.09.2012, 19:16     ООП #7
ООП уже считается пережитком прошлого. Прогрессивные разработчики применяют функциональный подход.

А зачем нужно ООП?
Чтобы можно было разбить программу на отдельные блоки(объекты), которые не слишком зависят от других объектов.
Таким образом объекты можно комбинировать для получения профита. На этот счет смотри паттерны проектирования.
Приложение построенное на объектах можно "пересобрать" под новые требования просто дописыванием новых объектов и изменением связей между старыми.
То есть практически без изменения старого кода. Ну это в идеале.

Можно применять наследование для создания новых объектов на основе старых.
Так-же можно наследовать "интерфейсы". Это очень мощный подход.
Он применяется для написание сложных систем с простым использованием.
Например можно сказать библиотеке, что мой объект реализует интерфейс Hello.
И библиотека написанная 10 лет назад непойми кем сможет работать с вашим объектом.

В общем много всего можно рассказать.
Но чтобы понять зачем нужно ООП, напиши небольшую программу в процедурном стиле.
Скажем в 10 000 строк.
после этого ты увидишь места, где ООП могло бы сделать код лучше.
Потом прочти про паттерны. Это откроет тебе глаза.
Yandex
Объявления
27.09.2012, 19:16     ООП
Ответ Создать тему
Опции темы

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