Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на C / C++


Информационный Канал Subscribe.Ru


RusFAQ.ru: Программирование на C / C++

Выпуск № 532
от 15.06.2004, 23:20

Администратор:
Имя: Nick.Box
URL: Информационный ресурс
ICQ: 365124
[censored], [censored]
О рассылке:
Задано вопросов: 1710
Отправлено ответов: 3387
Активность: 198.0 %
[Задать вопрос >>][Регистрация эксперта >>]
[Поиск в базе][Обсудить на форуме]


 Список экспертов, ответы которых опубликованы в данном выпуске

www
Статус: Доверительный
Общий рейтинг: 118.18
[Подробней >>]
CrackLab
Статус: Опытный
Общий рейтинг: 139.06
[Подробней >>]


 Краткий перечень вопросов

Вопрос № 1701. Здраствуйте, эксперты! Ответьте, пожалуйста, на такой вопрос! Имеется динамический массив, описанный... (ответов: 2)
Вопрос № 1702. Привет, объясните пожалуйста чайнику что такое ООП? Если можно по подробнее.... (ответов: 1)

Вопросов: 2, ответов: 3


 Вопрос № 1701

Здраствуйте, эксперты!
Ответьте, пожалуйста, на такой вопрос!
Имеется динамический массив, описанный как int **vv. Потом для него выделена память таким образом - сначала под указатели на строки, а потом для каждой строки в цикле. В этот массив я помещаю данные, но потом в ходе работы программы мне требуется увеличить размер этого динамического массива на какое-то количество строк (различное). Как это сделать НЕ ТЕРЯЯ ДАННЫЕ в этом массиве.


Приложение:


Вопрос отправлен: 12.06.2004, 02:05
Отправитель: Стас (stas3@belnet.ru)

[Следующий вопрос >>] [Список вопросов]

Отвечает www

Здравствуйте, Стас!
Как ни странно у меня никакие данные не потерялись.
Все работает на ура.
Возможно ты где то запутался с границами массивов и
затираешь данные соседних элементов. Посмотри внимательней.
В приложении, на всякий случай, твой пример с которым я работал.


Приложение:

Ответ отправлен: 12.06.2004, 16:40
Отправитель: www


Отвечает CrackLab

Доброе время суток, Стас!
Вы не правильно используете функцию realloc. Она ВОЗВРАЩАЕТ указатель на нововыделенную память. Так же сомнительным кажется ваше использования calloc для выделения памяти под строки. В общем смотрите мой код в приложении.

Приложение:

Ответ отправлен: 12.06.2004, 03:33
Отправитель: CrackLab


 Вопрос № 1702

Привет, объясните пожалуйста чайнику что такое ООП? Если можно по подробнее.



Вопрос отправлен: 12.06.2004, 16:38
Отправитель: lamer

[Следующий вопрос >>] [Список вопросов]

Отвечает CrackLab

Приветствую Вас, lamer!
Объектно-ориентированное програмирование - это новый подход к созданию программ. По мере развития вычислительной техники возникали разные методики программирования. Долгое время использовалось структурное программирование, когда программы строились посредством подключения и использования модулей.
Но структурное программирование по каким-то причинам (думаю скорость была относительно низкой и размеры программ большими) не справлялось с большими программами (когда программа достигала десятков или сотни тысяч строк).
И тогда программисты поняли, что нужно что-то новое, новый подход к программированию в целом. Новый подход был назван объектно-ориентированным программированием. В основе этого подхода лежат классы. Объектно-ориентированное программирование содержит в себе лучшие концепции, которые были в структурном программировании, а также новые, революционные идею, которые и позволили данному подходу создать программы фактически неограниченной сложности. Также считается что использование классов делает программу более простой, удобной, быйстрой, занимающей меньший размер.
В основе ООП и классов лежат 3 механизма:
1) Инкапсуляция. Т.е. объединения кода и данных вместе, а также защиту их от непланированного изменения. Такое определение может показаться сложным и поэтому проще сказать его по отношению к ООП: инкапсуляция это механизм позволяющий создавать классы и объекты этих классов, содержащие внутри себя не только данные (как например структура в языке С) но и методы (т.е. функции) для работы с этими данными и объектом класса. Поэтому например мы можем в классах использовать и переменные и писать внутри класса свои процедуры. Говорят что данные и код инкапсулируются внутри класса или объекта.
2) Полиморфизм. Т.е. механизм позволяющий использовать один и тот же шаблон для использования технически различных, но в тоже время в общем схожих задач. Примерами полиморфизма в практическом программировании может быть например перегрузка функций и операторов.
3) Наследование. Как я уже сказал в основе ООП лежат классы.
Объекты классов содержат в себе данные и методы (функции). Так вот с помощью наследования можно наследовать классы. Т.е. один класс может наследоваться от другого и пре этом он будет содержать свои собственные данные и методы + данные и методы того класса от которого он наследуется. Наследование позволяет упростить программу, снизить время написания программ, сделать их более гибкими, создавать более узкоспециализированные классы на основе общих классов.
"Если можно по подробнее." - Так пойдет?

Ответ отправлен: 12.06.2004, 18:02
Отправитель: CrackLab



Форма отправки вопроса

Внимание!
Мы рекомендуем открывать рассылку в программе Internet Explorer 5.0+ или отправлять вопросы с сайта по адресу: http://rusfaq.ru/cgi-bin/Message.cgi.

(C) 2002-2003 Команда RusFAQ.ru.

 Персональные данные

Ваше имя:

Ваш e-mail:

Опубликовать мой e-mail в рассылке


 Вопрос и дополнение

Ваш вопрос:


Приложение (если необходимо):


Получить ответов:


 Выбор рассылки

Программисту
Assembler (22)
C / C++ (12)
Perl (1)
Builder / Delphi (15)
Pascal (21)
Basic / VBA (3)
Java / JavaScript (4)
PHP (13)
Криптография (9)
WinAPI (11)
Радиоэлектроника (9)
Пользователю
Windows 95/98/Me (35)
Windows NT/2000/XP (54)
"Железо" (32)
Поиск информации (15)
Администратору
Windows NT/2000/XP (28)
Linux / Unix (11)
Юристу
Гражданское право (12)
Семейное право (8)
Трудовое право (11)
КоАП (7)

Отправить вопрос всем экспертам выбранной рассылки.




Задать вопрос | Регистрация эксперта | Поиск в базе | Чат | Форумы | Новости
Проект экспертов RusFAQ.ru | Фотоальбом | Virus.RusFAQ.ru | Администрирование
Профессиональная WEB-Студия B.I.T.


Яндекс цитирования
© 2001-2004 Россия, Москва. Авторское право: Калашников О.А.

http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу


В избранное