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

Инкапсулировать без серьезного изменения..возможно ли? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Не подключен файл, а работает, как так? http://www.cyberforum.ru/cpp-beginners/thread239595.html
Всем еще раз привет. Вот Пишу программку в VC++, создал проект. В проекте создал .h файл в котором создал пространство имен Records и в нем объявил класс с прототипами методов, далее создал файл Employee.cpp в котором дал этим прототипам действие, далее создал файл testEmployee.cpp в котором подключил лишь .h файл с объявлением класса и вызвал один из методов выводящих на экран все свойства, но...
C++ Компонент TChart. Еще один вопрос. Подскажите, пожалуйста: есть в Chart_е возможность задавать такой параметр Series->Marks->Style. Один из вариантов Style – это Label, который (в моем случае отображает) координаты по оси Y. Другими словами, подскажите, как получить значения Label(кнопки) и записать их в StringGrid, или же, как просто определить координаты точек по оси oY. http://www.cyberforum.ru/cpp-beginners/thread239574.html
iostream.h C++
Всем привет! Кто-нибудь может выложить файл iostream.h у меня компилятор выдает ошибку fatal error C1083: Cannot open include file: 'iostream.h': No such file or directory, я проверил в папке include компилятора этот файл, но его там нет... помогите?
C++ cin странно себя ведет
Здравствуйте! Если в самом начале в майне написать char tch; cin.getline(tch,32) То все Ок, работает как надо. Но в в мэйне есть еще while и в нем if while(!quit)
C++ Не получается вывести метод http://www.cyberforum.ru/cpp-beginners/thread239555.html
Всем привет, вот пишу маленькую программку и выскакивает ошибка при выводе. Вот код Заголовочный файл .h в котором содержится класс с прототипами методов // Employee.h #include <iostream> namespace Records { const int kDefaultStarting = 30000;
C++ Непонятная ошибка Программа должна заменять в строке все пары АВ на С, пишу в Visual Studio, после ввода строки открывается вкладка output.c и показывает какие-то ошибки, если просто запустить экзешник то после ввода строки викидывает, не пойму в чём дело #include "stdafx.h" #include <conio.h> #include <math.h> #include <string.h> void main() { char st; подробнее

Показать сообщение отдельно
volovzi
267 / 169 / 8
Регистрация: 14.03.2010
Сообщений: 501
11.02.2011, 00:21     Инкапсулировать без серьезного изменения..возможно ли?
Цитата Сообщение от CyBOSSeR Посмотреть сообщение
Если мы говорим о структурах, то ничем. Структуры лишь предоставляют клиентам данные и не должны иметь хоть какие-то осмысленные функции. Объекты же предоставляют клиентам функции, для выполнения которых, возможно, используются тщательно скрытые за абстракциями данные. Поэтому никакой речи об открытых данных или методах установки/получения данных(сеттеров/геттеров) в случае объектов речи быть не может. Если объект предоставляет клиентам и данные(геттеры/сеттеры) и функции, то он спроектирован неверно.
Структура ничем не отличается от класса кроме того, что в структуре все методы и переменные по-умолчанию открыты, а в классе закрыты (и ещё одна деталь, про которую говорил MrX, и которая к теме не имеет отношения). Сделано это для совместимости с языком Си. В остальном это одно и то же.
В этой теме я уже приводил пример класса из СБШ, в котором переменные открыты.
Собственно, я веду к тому, что «предоставляемый интерфейс» — это не обязательно функции. Открытые переменные — это тоже предоставляемый интерфейс, при этом, если точно известно, что изменение значений переменных происходит «просто», то есть не нужно проводить какой-то фильтрации или дополнительных действий, то этот интерфейс является наиболее лаконичным и органичным.

Цитата Сообщение от Predator_2004 Посмотреть сообщение
Поправка:"Язык программирования с++" со стр 122. Особое внимание с 124.
Посмотрю.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru