Пришёл как-то раз холоп на царский бал. Долго ли, коротко ли ходил он по углам, и, не найдя себе никакого развлечения, достал из-за пазухи жбан квасу; обливаясь, залпом выпил и завалился спать. И приснилось ему три сна.
Дальше вести повествование в такой же манере неудобно, поэтому, если вы не возражаете, я переключусь на привычное всем нам непонятно что1. Первый сон (кошмар, как, впрочем, и остальные) был про Qt. Много чего можно бояться (я, например, людей боюсь, и только недавно начал понимать, что никуда оно не делось; впрочем, это тема для отдельной записи, которая, скорее всего, никогда не будет написана), но чтобы фреймворков... Ужасная, непонятная мешанина из слов, действий и событий, и всё под знаменем буквы Q. Когда прямо перед глазами выскочил огромный Q_OBJECT, я всё-таки смог, дико вдохнув, проснуться. И всё равно Qt, Qt, Q... Ужасно, честное слово. Бояться надо убить ногой соседа или задушить его же квасом четвёркой, а он от фреймворков пухнет.
К слову, программирование на C++ продолжается. И сегодня мы познакомимся с воистину великолепным определением класса:
class AbstractMovieGrid { public: AbstractMovieGrid(int _width, int _height, int _movieWidth, int _movieHeight, int _movieFieldHorizontalMargin, int _movieFieldHorizontalPadding, int _movieFieldVerticalMargin, int _movieFieldVerticalPadding); int getWidth(); int getHeight(); int getMovieWidth(); int getMovieHeight(); int getMovieFieldHorizontalMargin(); int getMovieFieldHorizontalPadding(); int getMovieFieldVerticalMargin(); int getMovieFieldVerticalPadding(); void setWidth(int value); void setHeight(int value); void setMovieWidth(int value); void setMovieHeight(int value); void setMovieFieldHorizontalMargin(int value); void setMovieFieldHorizontalPadding(int value); void setMovieFieldVerticalMargin(int value); void setMovieFieldVerticalPadding(int value); enum DrawingDirection { Horizontal, Vertical }; void drawAll(DrawingDirection dd); protected: int width; int height; int movieWidth; int movieHeight; int movieFieldHorizontalMargin; int movieFieldHorizontalPadding; int movieFieldVerticalMargin; int movieFieldVerticalPadding; int cols; int rows; void calculateDimensions(); void correctMargins(); void callDrawer(int col, int row); virtual void draw(int col, int row, int x, int y) = 0; };
„Ололо, наверное, акцессоры у него имеют вид
int AbstractMovieGrid::getWidth() { return width; }
“,— подумаете вы, и окажетесь правы. „Неужели и мутаторы такие же?“— продолжая издевательства, может спросить язвительный читатель — и окажется неправ. Мутаторы имеют вид:
void AbstractMovieGrid::setWidth(int value) { width = value; calculateDimensions(); correctMargins(); }
Хотя да, поначалу я копипастил это исключительно чтобы поиздеваться, но потом эта атака клонов внезапно оказалась полезной. Вывод делаем такой: Qt — это не страшно2, а прямой доступ к данным-членам — зло.
Но мы отвлеклись от темы! А ведь я помню ещё второй кошмар — я случайно забыл выключить сигнализацию перед тем, как открыть дверь, а куда звонить и какой у нас код хер знает. Продолжалось это недолго (потому что НЕКТО открыл, если можно так выразиться, дверь, и стало жутко холодно), а, проснувшись, я вспомнил, что номер записан в телефоне, а кодом я неоднократно шутил прекрасно помню. Вот до у тебя того музыка противная, честное слово!
В общем вот так-то всё, гораздо лучше, чем было до этого. В том плане, что наконец-то вопящий инспектор Гаджет покидает главную страницу. Ура!
Предыдущие примерно то же самое пытались сообщить. Ничего не получилось, тем не менее.
int AbstractMovieGrid::getWidth()А const-то кто будет писать за тебя, Пушкин?
{
return width;
}

Доступные тэги: <b>, <i>, <s>, <u>, <a href="">, <img src="" /> (загрузить), <pre>, <quote>
- themylogin › Самое дорогое в жизни Вчера, 02:19
- ramwoolf › Am I not always be wanting this? (x8) 16 мая, 23:08
- anonymous › Написание «не» с различными частями речи 16 мая, 16:06
- anonymous › A Tragedy in the Air 15 мая, 18:24
- themylogin › Итоги 2011 15 мая, 12:10
- themylogin › На гелике езжу 13 мая, 16:24
- anonymous › Waking up at ten 13 мая, 13:16
- themylogin › Жук 12 мая, 11:55
- themylogin › Давайте шутки из твиттера продолжим развивать здесь 7 мая, 11:03
- anonymous › Шевченко лох 6 мая, 14:02



