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

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

Войти
Регистрация
Восстановить пароль
 
bambino
193 / 19 / 4
Регистрация: 05.08.2010
Сообщений: 229
#1

ООП - C++

30.04.2011, 20:22. Просмотров 436. Ответов 1
Метки нет (Все метки)

Всем привет! Если можно, не могли бы вы ответить на пару вопросов по ООП, а то что-то не могу понять.
Вопросы: Зачем используются такие парные определения?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
struct T {}; 
 
class Container 
{ 
    // ctor's 
    // cctor 
    // Container& operator = () 
    // dtor 
    // . . . 
public: 
    T& operator [] (int i) const; // {return t_[i];} 
    T& operator [] (int i); // {return t_[i];} 
//private: 
//  T* t_; 
};
Какие изменения необходимо внести в классе Container, чтоб уничтожить глюк?
C++
1
2
3
4
void  f(Container const& c) 
{ 
    c[0] = T(); // компилируется! 
}
Всем спасибо за ответы!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.04.2011, 20:22     ООП
Посмотрите здесь:

ООП - C++
#pragma hdrstop #pragma argsused //#include "Student.hpp" //#include "Prof.hpp" //#include "Personne.hpp" #include <conio.h> ...

Начало ООП - C++
Привет всем! У меня началось изучение ООП и соответственно пошли классы. Первое задание - постpоить класс для pаботы с массивом. Класс...

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

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

ООП пример - C++
Доброго времени суток. Тут отыскался один пример в конспекте. Записал на лекции спустя рукава. Хочу восстановить. Где-то что-то...

Тест по ООП - C++
Помогите, пожалуйста, с текстом по С++!!! Тема 13. Создание объектов класса 13.1 Пусть описан класс class ClassA {int a; public:...

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

ООП и контейнеры - C++
Здорова господа! От есть задачка: Напишите класс, производный от Container так, чтобы Vector из параграфа 16.2.1 мог использоваться в...

ООП. Полиморфизм - C++
Мальчики, учусь на МехМате. Для сдачи зачёта по ООП необходимо написать последнюю программу: Задание: полиморфизм Указание: во всех...

Книга по ООП - C++
Я заканчиваю читать Б'ярн Страуструп - ПРИНЦИПЫ И ПРАКТИКА ИСПОЛЬЗОВАНИЯ C++, вот хотел у вас спросить какую книгу по ООП(нормальную, а не...

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

вопросы ООП - C++
Есть вопрос. Если кто знает, о чем тут, отпишитесь: "Пример, отражающий четыре способа применения конструктора копирования" (не ну...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
[Freeman]
34 / 34 / 6
Регистрация: 07.06.2010
Сообщений: 118
30.04.2011, 21:13     ООП #2
Цитата Сообщение от bambino Посмотреть сообщение
Зачем используются такие парные определения?
Один оператор константный, другой - нет. Const оператор нужен потому, что нельзя применять не константные методы к константным объектам. Например в конструкторе копий:
C++
1
Container(const Container& );
или в функции f из вашего кода. Параметр объявлен как константный, и к нему нельзя применить обычный operator [], только константный.
Какие изменения необходимо внести в классе Container, чтоб уничтожить глюк?
Глюка здесь нет, c[0] присваивается временный объект.
Ответ Создать тему
Опции темы

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