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

Вопрос про наследование. - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ линейные списки, удаление последнего эллемента списка http://www.cyberforum.ru/cpp-beginners/thread208780.html
нужно написать функцию удаления последнего эллемента списка, помогите пожалуйста #include <iostream.h> #include <stdlib.h> #include <stdio.h> #include <conio.h> struct Elem {int data; Elem*next;}; Elem*create (int n) {Elem*pb = new Elem; pb -> data = n; pb -> next = 0; return pb;} void showlist ( Elem*pb)
C++ Из последовательности чисел выбрать элементы, делящиеся на 3 Из последовательности чисел y1, y2, ,…,yn выбрать элементы, делящиеся на 3. Подсчитать их число и вывести их порядковые номера в массиве. Подскажите примерно, как выбрать эти элементы? http://www.cyberforum.ru/cpp-beginners/thread208768.html
интеграл C++
Всем доброго времени суток, нужно решить интеграл
C++ Оператор цикла с предусловием
Используя оператор цикла с предварительным условием, вычислить сумму конечного числа слагаемых. При вычислении члена ряда использовать рекурентное соотношение. Значение x ввести с клавиатуры.http://www.cyberforum.ru/attachment.php?attachmentid=53608&d=1292095002
C++ DLL на C++ http://www.cyberforum.ru/cpp-beginners/thread208746.html
Доброго времени суток, уважаемые форумчани! У меня собственно такой вопрос: Не могли бы Вы написать код для DLL на C++ который нужен для выполнения такого задания - перемножить два беззнаковых числа длиной 64 бита каждое. Заранее спасибо.
C++ Массив одномерный Помогите пожалуста, немогу решить.Вычислить среднее арифметическое элементов массива Х, расположенных между его минимальным и максимальным значениями. Если минимальный элемент размещается в массиве раньше максимального, то упорядочить массив на данном промежутке по возрастанию его элементов (возможна и обработка ситуации). подробнее

Показать сообщение отдельно
lemegeton
 Аватар для lemegeton
2909 / 1338 / 133
Регистрация: 29.11.2010
Сообщений: 2,720
12.12.2010, 13:39     Вопрос про наследование.
Идеологически, отдавая указатели на элементы данных класса, вы нарушаете инкапсуляцию. Более грамотно было бы организовать во втором классе методы доступа к внутренним данным массива. Например, через operator[] и рекомендованный метод at().

Добавлено через 3 минуты
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
class TCycleStorage : public TStorage {
private:
TStorage firstHalfStorage;
TStorage secondHalfStorage;
public:
        TCycleStorage(int numBuffers, int bufferSize)
                : TStorage(0,0),
                firstHalfStorage(numBuffers/2,bufferSize),
                secondHalfStorage(numBuffers/2,bufferSize)
         {}
         int& operator[](int n)
         {
             if (n<firstHalfStorage.size())
                      return firstHalfStorage[n];
             else
                      return secondHalfStorage[n-firstHalfStorage.size()];
         }
} ;
 
...
...
TCycleStorage C;
int i=5;
C[i] = i;
...
 
Текущее время: 22:49. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru