Home > Store

Introduction to Design Patterns in C++ with Qt, Rough Cuts, 2nd Edition

Rough Cuts

  • Available to Safari Subscribers
  • About Rough Cuts
  • Rough Cuts are manuscripts that are developed but not yet published, available through Safari. Rough Cuts provide you access to the very latest information on a given topic and offer you the opportunity to interact with the author to influence the final publication.

Not for Sale

Description

  • Copyright 2011
  • Dimensions: 7" x 9-1/8"
  • Pages: 768
  • Edition: 2nd
  • Rough Cuts
  • ISBN-10: 0-13-285162-8
  • ISBN-13: 978-0-13-285162-6

This is the Rough Cut version of the printed book.

Master C++ “The Qt Way” with Modern Design Patterns and Efficient Reuse

This fully updated, classroom-tested book teaches C++ “The Qt Way,” emphasizing design patterns and efficient reuse. Readers will master both the C++ language and Qt libraries, as they learn to develop maintainable software with well-defined code layers and simple, reusable classes and functions.


Every chapter of this edition has been improved with new content, better organization, or both. Readers will find extensively revised coverage of QObjects, Reflection, Widgets, Main Windows, Models and Views, Databases, Multi-Threaded Programming, and Reflection. This edition introduces the powerful new Qt Creator IDE; presents new multimedia APIs; and offers extended coverage of Qt Designer and C++ Integration. It has been

restructured to help readers start writing software immediately and write robust, effective software sooner.


The authors introduce several new design patterns, add many quiz questions and labs, and present more efficient solutions relying on new Qt features and best practices. They also provide an up-to-date C++ reference section and a complete application case study.

  • Master C++ keywords, literals, identifiers, declarations, types, and type conversions.
  • Understand classes and objects, organize them, and describe their interrelationships.
  • Learn consistent programming style and naming rules.
  • Use lists, functions, and other essential techniques.
  • Define inheritance relationships to share code and promote reuse.
  • Learn how code libraries are designed, built, and reused.
  • Work with QObject, the base class underlying much of Qt.
  • Build graphical user interfaces with Qt widgets.
  • Use templates to write generic functions and classes.
  • Master advanced reflective programming techniques.
  • Use the Model-View framework to cleanly separate data and GUI classes.
  • Validate input using regular expressions and other techniques.
  • Parse XML data with SAX, DOM, and QXmlStreamReader.
  • Master today’s most valuable creational and structural design patterns.
  • Create, use, monitor, and debug processes and threads.
  • Access databases with Qt’s SQL classes.
  • Manage memory reliably and efficiently.
  • Understand how to effectively manage QThreads and use QtConcurrent algorithms.

Click here to obtain supplementary materials for this book.

Sample Content

Table of Contents

Foreword     xv

Preface     xix

Preface to the Second Edition     xxii

Acknowledgments     xxv

About the Authors     xxx

Part I: Design Patterns and Qt 4     1

Chapter 1: C++ Introduction     3

1.1 Overview of C++     3

1.2 A Brief History of C++     4

1.3 C++ First Example     5

1.4 Standard Input and Output     8

1.5 Introduction to Functions     11

1.6 qmake, Project Files, and Makefile     17

1.7 Getting Help Online     24

1.8 Strings     24

1.9 Streams     26

1.10 File Streams     29

1.11 Qt Dialogs for User Input/Output     34

1.12 Identifiers, Types, and Literals     37

1.13 C++ Simple Types     40

1.14 The Keyword const     52

1.15 Pointers and Memory Access     54

1.16 Reference Variables     60

1.17 const* and *const     61

1.18 Review Questions     64

Chapter 2: Top of the class     67

2.1 First, There Was struct     67

2.2 Class Definitions     69

2.3 Member Access Specifiers     71

2.4 Encapsulation     74

2.5 Introduction to UML     75

2.6 Friends of a Class     76

2.7 Constructors     77

2.8 Destructors     80

2.9 The Keyword static     81

2.10 Class Declarations and Definitions     86

2.11 Copy Constructors and Assignment Operators     88

2.12 Conversions     92

2.13 const Member Functions     95

2.14 Subobjects     97

2.15 Exercise: Classes     98

2.16 Review Questions     108

Chapter 3: Introduction to Qt     113

3.1 Style Guidelines, Naming Conventions     114

3.2 The Qt Core Module     116

3.3 QtCreator—An IDE for Qt Programming     119

3.4 Exercises: Introduction to Qt   &nbs

Updates

Submit Errata

More Information