Francis Glassborow’s homepage is offline

It probably comes as no surprise, but content gets shuffled about and at some point gets lost, misplaced or thrown away. I’m hoping this isn’t a case of the latter, but Francis’ homepage is giving the dreaded 404 error when trying to view the resources page for his books.

Thankfully I’ve previously created a PDF of the errata page and have downloaded all material, but if you’re one of those who haven’t yet, please see these resources kindly provided by Jaime Moreno here and here. Of particular note is the link to building the fgw library on Mac OS X.

In addition, I have instructions for how to compile the library using Quincy 2005 (the book uses Quincy 2002) and the current MinGW here.

I hope this helps someone.


Those instructions also provide a link to a public Subversion repository that contains revisions of the library from the book’s accompanying CD, the author’s website and from the publisher’s website for the book.

C++ Overloading, overriding and hiding, oh my!

Continuing where I left off previously, I’ve been going through chapter 9, Inheritance and Polymorphism from Ivor Horton’s Beginning Visual C++ 2008 and consulting various other books a little more often than I had been up until now. One of those books was C++ Programming: Visual QuickStart Guide, by Larry Ullman and Andreas Signer.

Edit: There is a slightly better (cleaned up) version here.

I was reading chapter 8, Class Inheritance where I ran afoul of this warning:

Pay attention when overriding methods. If you don’t use the exactly same parameters and return values, you’ll end up with an overloaded method, and not an overridden one. Such mistakes are very hard to debug

Continue reading

Why a base class pointer to a derived class object is ok

As I’ve mentioned in previous posts, I’ve been going through Ivor Horton’s Beginning Visual C++ 2008 and thanks to the good folks at, I’ve been steered back on course by numerous helpful posts while working through chapter exercises.

For a few weeks now, I’ve been in chapter 9, Inheritance and Polymorphism, and have been extensively taking notes. At one point I veered off course long enough to purchase or checkout from the library several other books, several of which I explored and ended up learning about Inheritance and Polymorphism; so much for a sabbatical!

Continue reading

You Can Do It! A Beginner’s Introduction to Computer Programming


The author’s page for this book is now offline. Please see this post for more details, including where you can still obtain the library sources and other updated content for the book.

I picked up this book and the follow-up You Can Program in C++: A Programmer’s Introduction book several years ago while flailing about in an attempt to learn C++. The short version of why I didn’t succeed was that I didn’t have the required patience to take things slow and fully understand each new idea before moving on.

Well, I’m forcing myself to have the required patience this time around (started most recent attempt Sept 2011), and I’ve made good progress going through Ivor Horton’s Beginning Visual C++ 2008.

Now that I’ve made it through the first eight chapters, I’m seriously considering taking a break and going back to You Can Do It! A Beginner’s Introduction to Computer Programming. There are several reasons for this, and I’m thinking the biggest one is that both of these books by Francis Glassborow are sub-400 pages, while Ivor Horton’s Beginning Visual C++ 2008 is 1392 pages. To be fair, those pages are not only dedicated to Standard C++, but code specific to Microsoft Visual C++ and C++/CLI. Still, with only 543 of 1392 pages down, I’m thinking I need the emotional pick-me-up from completing a smaller book. Then I can return to that one.

All of that said, I’ve just started looking at the errata, the contents of the CD that came with the book and the latest updates to the CD contents and source code.

I had no idea how spoiled I had become from always heading to the website to grab the very latest and authoritative version of software/code. A few things I’ve figured out:

  • The CD contents are superseded by the contents available on the CD Substitute page.
  • The fgwlib library sources from the Resources page supersede the sources available from tutorial.exe on the CD Substitute page. Oddly enough, some of the comment misspellings that were fixed in the CD Substitute page are back in the latest fgw library sources, so it’s likely the author wasn’t using version control.
  • The Quincy download link on that page is no longer working.
  • There is a newer version of the IDE used by the book, Quincy, available here.

Bottom line:

The fgwlib library sources available from the Resources page supersede all other library sources.

Now that I’ve figured that out, I’m off to build the library to work with the latest MinGW install.

C++ Programming requires patience

Since September I’ve been working through Ivor Horton’s Beginning Visual C++ 2008 and have been making pretty good progress.

Thanks to the good folks at, I’ve been steered back on course by numerous helpful posts while working through chapter exercises.

I’m very close to wrapping up chapter 8 and then I’m on to chapter 9, Inheritance and Polymorphism. It isn’t until chapter 12 where I am introduced to Windows programming, and by then I’ll have been exposed to the STL and misc debugging techniques; I should be ready.

The most important thing I’ve picked up so far is that learning C++ requires a lot of patience. I’ve yet to work with reading/writing files or interfacing with the OS aside from console output, so I don’t feel I’ve accomplished anything useful with the code I’ve written, aside from laying foundation for what’s to come.

I’ll have to take solace that when I do reach that point, I should be capable of what I hope to accomplish without undue hair pulling.