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

Свойства класов - зачем помещать свойство в приват - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Error C2668: sqrt: неоднозначный вызов перегруженной функции http://www.cyberforum.ru/cpp-beginners/thread536026.html
Что не так? Ma= sqrt ((2*b^2 + 2 * c^2 - a^2)/4); Mb= sqrt ((2*a^2 + 2 * c^2 - b^2)/4); Mc= sqrt ((2*a^2 + 2 * b^2 - b^c)/4); 1>------ Построение начато: проект: dz, Конфигурация: Debug Win32 ------ 1> dz.cpp 1>c:\users\михаил\documents\visual studio 2010\projects\dz\dz\dz.cpp(16): error C2668: sqrt: неоднозначный вызов перегруженной функции
C++ Найти среднее арифметическое елементов каждого из непарных столбцов матрицы Размерность матрицы вводить самому http://www.cyberforum.ru/cpp-beginners/thread536016.html
istream_iterator C++
Добрый день, уважаемые форумчане! Прошу ответить на следующий вопрос - почему, когда создается istream_iterator пустым конструктором (например, в алгоритме copy для указания конца потока/файла), то вызывается конструктор объекта того класса, который мы передаем в качестве шаблонного аргумента?? Т.е., почему он вообще вызывается? Пример: .... class Test { public: Test() { cout <<...
Вложенные циклы. Вычисление двойной суммы. C++
#include<stdlib.h> #include<stdio.h> #include<math.h> long factor(int k) {long res; if((k==1)||(k==0)) res=1; else res=factor(k-1)*k; return res; }
C++ Как сделать выход из программы при условии выполнения предписания? http://www.cyberforum.ru/cpp-beginners/thread535999.html
Смысл кода: вводим столь-ко то значений и находим из них максимальное. Как сделать так, чтоб, когда вводимое значение было равно "-1", то программа завершалась? #include "stdafx.h" #include <iostream> #include <conio.h> using namespace std; int main() { setlocale(LC_CTYPE, "Russian");
C++ Скопировать строку в переменную Здравствуйте, программа читает txt файл, в нем есть несколько строк, я хочу записать содержимое 2(для примера) строки в переменную. Меня направили почитать об std::string и std::getline, там не нашел ответа, хотя может быть что-то упустил(с английским не очень хорошо). В google нашел вариант с использованием boost::spirit, но он очень тяжелый для новичка. На чем я остановился: main.cpp... подробнее

Показать сообщение отдельно
Kuzia domovenok
1890 / 1745 / 118
Регистрация: 25.03.2012
Сообщений: 5,924
Записей в блоге: 1
01.04.2012, 20:51     Свойства класов - зачем помещать свойство в приват
Цитата Сообщение от alex_x_x Посмотреть сообщение
в вашем примере нет смысла его делать классом, так как ему нечего инкапсулировать кроме своих данных
Почему нет? Я хочу сделать класс трёхмерного вектора, который хранил бы только три компоненты вектора без какого-либо динамического выделения памяти. Зачем мне их скрывать в private?

Далее, я хочу добавить в класс методы получения модуля этого вектора, операторы скалярного и векторного умножения, векторного сложения и ещё 100500 операций над векторами зачем мне делать его структурой?
Да, знаю в С++ структуры могут содержать методы, но в таком виде они мало отличаются от классов.
Ну и наконец, я этот пример с вектором не от балды взял, а реально существует куча примеров исходников, в которых авторы не прячут параноидально все поля в public, просто потому что "так модно".

Цитата Сообщение от kravam Посмотреть сообщение
Ну это старая песня типа: "Учитесь правильно на простом, чтобы не учиться на сложном, что тяжело вдвойне". Кто его знает, может это и так. Как-то внутренне дисциплинирует, что ли. А это на самом деле важно.
Чтобы учить, нужно не только показывать "как надо", но ещё и объяснять, почему "так надо". Пока что я во всей теме не нашёл ни одного объяснения. всё сводится к "это хороший тон программирования", "так надо, потому что так надо". И никто не привёл ни одного примера, когда публичное поле класса вызвало жуткие страдания у программиста.
(Разумеется имеется в виду не динам.память, о которой я уж сто раз оговорился в теме, а обычное поле, которое бы вызвало тонну ужаса из-за публичности) Ну же! Примеры где?
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru