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

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

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

ООП - C++

27.09.2012, 17:46. Просмотров 504. Ответов 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 присвоить значение целочисленному значению - а которое находится в классе ?
Всем заранее огромное спасибо !!!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.09.2012, 17:46
Здравствуйте! Я подобрал для вас темы с ответами на вопрос ООП (C++):

ООП - C++
Всем привет! Если можно, не могли бы вы ответить на пару вопросов по ООП, а то что-то не могу понять. Вопросы: Зачем используются такие...

ООП - C++
помогите пожалуйста лабу сделать. не понимаю чет как ее делать((( я 7 вариант

ООП - C++
1) Для класса символьной строки определить отношение лексикографического порядка, перегрузив с помощью дружественной функции операцию «&lt;» ...

ООП на С++ - C++
Помогите пожалуйста!! Не понимаю как это сделать(( Создать программу с классом Student порождающий обьекты - данные об студентах...

ООП - C++
проблема в классе квадрат- ниже код, я не прошу его переписывать, попробуйте кто то у себя запустите и будьте добры скажите почему там...

ООП - C++
Привет всем, народ дайте какую-нибудь интересную задачку на ООП, (однообразные задачи из учебников достали уже), чтоб она затрагивала как...

6
panicwassano
592 / 560 / 20
Регистрация: 07.11.2010
Сообщений: 2,004
27.09.2012, 18:07 #2
Цитата Сообщение от Игорь с++ Посмотреть сообщение
так вот как можно сделать что то типо такого - number = a ;
перегрузить оператор присваивания
0
ForEveR
В астрале
Эксперт С++
7978 / 4737 / 321
Регистрация: 24.06.2010
Сообщений: 10,543
Завершенные тесты: 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;
1
Nixy
ComfyMobile
400 / 281 / 8
Регистрация: 24.07.2012
Сообщений: 916
27.09.2012, 18:20 #4
Цитата Сообщение от Игорь с++ Посмотреть сообщение
Не как не могу понять для чего умные люди его создали , т.е. в чём прелести использование его в программах , кому не трудно объясни те или дайте ссылку где можно по этому поводу подчерпнуть информации .
ну как учат в институтах, что за многие годы развития программирования накопилась огромная база процедур, ведь до ООП , был процедурный подход к решению задач, а создание объектов позволило инкапсулировать процедуры и данные, с которыми процедуры работают, как следствие упрощение в понимании кода, возможно даже уменьшение объема, но понятное дело не везде ООП нужно, так нас учили)
1
Игорь с++
436 / 459 / 16
Регистрация: 26.01.2011
Сообщений: 2,032
27.09.2012, 18:26  [ТС] #5
Цитата Сообщение от Nixy Посмотреть сообщение
ну как учат в институтах
Просто я не учусь в институте , а изучаю так лично для себя . Так что если , что извеняйте . Но всё равно спасибо за ответ !
0
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);
}
1
ProNoooob
74 / 74 / 6
Регистрация: 14.10.2009
Сообщений: 121
27.09.2012, 19:16 #7
ООП уже считается пережитком прошлого. Прогрессивные разработчики применяют функциональный подход.

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

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

В общем много всего можно рассказать.
Но чтобы понять зачем нужно ООП, напиши небольшую программу в процедурном стиле.
Скажем в 10 000 строк.
после этого ты увидишь места, где ООП могло бы сделать код лучше.
Потом прочти про паттерны. Это откроет тебе глаза.
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.09.2012, 19:16
Привет! Вот еще темы с ответами:

ООП - C++
помогите переделать программу в ООП, Создать класс, описывающий следующие понятие рабочий! фамилия,стаж,часовая зароботная плата,...

C++ ООП - C++
Просьба дать какую-нибудь интересную программу, дабы теста на курс ООП. Чтобы не из книжки, а реально придуманная про программистом, или...

ООП - C++
Создать класс Vegetable, содержащий следующие элементы: - поле «вес» float Mass; - поле «зрелость» int Ripeness; - метод получения...

по ООП . - C++
Помогите пожалуйтса с решением задач ! на С++ 1.Дана неубывающая последовательность действительных чисел. Вставить в неё...


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

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

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