Training, Open Source Programming Languages

This is page

Our email: • Phone: 01144 1225 708225

For 2023 (and 2024 ...) - we are now fully retired from IT training.
We have made many, many friends over 25 years of teaching about Python, Tcl, Perl, PHP, Lua, Java, C and C++ - and MySQL, Linux and Solaris/SunOS too. Our training notes are now very much out of date, but due to upward compatability most of our examples remain operational and even relevant ad you are welcome to make us if them "as seen" and at your own risk.

Lisa and I (Graham) now live in what was our training centre in Melksham - happy to meet with former delegates here - but do check ahead before coming round. We are far from inactive - rather, enjoying the times that we are retired but still healthy enough in mind and body to be active!

I am also active in many other area and still look after a lot of web sites - you can find an index ((here))
C and C based languages module C231
Introduction to C++
Exercises, examples and other material relating to training module C231. This topic is presented on public courses Learning to program in C and C++, C++ for C Programmers, C and C++ Programming, Learning to program in C and C++, C and C++ Programming

Why do we need to go beyond C? The principles of writing a larger application or suite of programs based on your own data types, with code that can be maintained in a modular manner.
Related technical and longer articles
Solution Centre - all article listing
Solution Centre - all article listing
Introduction to the C plus plus Programming Language

Articles and tips on this subjectupdated
4562Left shift operator on an output stream object - C++
When explaining "Hello World" in C++ (see here), delegates who are already familiar with programming in other languages pick up on the line   cout << "Welcome - and enjoy your C++ course" << endl; and ask for an explanation. Yes - it is a bit different, isn't it? The explanation ...
4561Hello World in C++ - a first program, with the process explained
"Hello World" programs - traditionally (a good tradition) te first example on a proogramming course in any language - just output the words "Hello World" or similar text and do little else. They show learners / students / delegates the mechanism of working with a language in te simplest possible example ...
4466Moving from C to C++ - Structured to Object Oriented - a lesson for engineers
The C language formed a a logical base from which C++ - an object oriented language developed. One of the major reasons that it is indeed a logical base is that C and its libraries include a number of elements though which you can write code which is essentially object oriented if you write with the ...
2169When should I use OO techniques?
We have two friends. They're married. She's a keen advocate of Object Oriented Programming and he can't stand the approach. So take them to the pub, buy them a couple of drinks each, mention OO programming and watch the feathers fly ;-) Seriously, Object Oriented Programming has its place - and there ...
3250C++ - how we teach the language and the concepts behind the language
When I'm teaching an object oriented language such as C++, I like to write code and demonstrate from scratch to my class, getting them to 'feed' me with application data and information so that I can show them how programs are really developed using the OO approach - both in general, and in the specific ...
3053Make - automating the commands for building and installing
Coding projects (and their open source distributions) require build scripts - files of commands that convert the source code into executable programs, that install the various resultant files into place, and that can clean up the build area for a fresh build or for redistribution. The make system - ...
3069Strings, Garbage Collection and Variable Scope in C++
In C, you'll handle strings as arrays of chars (type char *) and that does work - but with grumbles from the compiler about deprecation - in C++. The more modern (or shall we say "more OO") approach is to handle strings as objects - and those will be objects of type string, with headers loaded via   #include ...
3052Getting your C++ program to run
Here are some problems with compiling and running a quite straightforward C plus plus program (Gnu C++ compile gcc) wizard:cpp graham$ g++ morethan.cpp morethan.cpp:9:18: error: No such file or directory morethan.cpp: In function ‘int main()’: morethan.cpp:27: error: ‘intread’ ...
2845Objects and Inheritance in C++ - an easy start
We can end up with a lot of files when we do even a simple C++ example to show inheritance - a file for the main program, a file each for the base class and subclass, and a header file for the prototypes for each of the base class and subclass too. So it's much easier to do it all as one file - but ...
317Programming languages - a comparison
"It would take me a week to develop application XXX in C, 2 or 3 days in Java, and a day in Perl, PHP, or Python." So I say when I'm teaching Perl, PHP or Python. What do I say when I'm teaching C, C++ or Java? The same thing! But there are qualifications / differences / reasons and just because it ...
2004Variable Scope in C++
In C++, a variable is 'scoped' to the block in which it is declared. In other words, it exists from the point at which you tell the compiler what type of value it contains through to the close brace at that matches the open brace preceeding that declaration. In the most frequent use, this means that ...
928C++ and Perl - why did they do it THAT way?
"Why did [they] do it THAT way?". It's a question often asked by the brighter and more perspective delegates on courses concerning some features of a language that I'm teaching them. And the answer "because they did" is a poor one. It's like saying to a child "because I said so" rather than looking ...
318Choosing a theme
Graham puts his marketing hat on. We're going great guns with the new C and C++ courses (Announcement) - a very logical extension as I probably know C even better than Perl or PHP - but we needed a theme. What are C and C++? They're languages that form the bedrock on which other modern languages ...
Examples from our training material
app1.cpp   Main application
cpp.cpp   C++ - example for C comparison
cs.cpp   string objects
fifty.cpp   define and use a class
fiftyfour.cpp   private method, arrays of objects and object pointers
fiftythree.cpp   several methods of same name
hw.cpp   Hello C++ world
ir.cpp   File of functions   Function prototypes for first demo
makefile   Compile / Load instructions for examples in this module
rsmain.cpp   Scoping of variables in C++
shift.cpp   The << operator in C++
tabby.cpp   All together - C++ demo class and test program
tabbymain.cpp   Sample / test program - first OO class
table.cpp   Code for class in first demo
table.h   API definition - first class demo
Background information
Some modules are available for download as a sample of our material or under an Open Training Notes License for free download from [here].
Topics covered in this module
C plus Object Orientation.
Overview of the principles of Object Orientation
Uses of C++
Complete learning
If you are looking for a complete course and not just a information on a single subject, visit our Listing and schedule page.

Well House Consultants specialise in training courses in Ruby, Lua, Python, Perl, PHP, and MySQL. We run Private Courses throughout the UK (and beyond for longer courses), and Public Courses at our training centre in Melksham, Wiltshire, England. It's surprisingly cost effective to come on our public courses - even if you live in a different country or continent to us.

We have a technical library of over 700 books on the subjects on which we teach. These books are available for reference at our training centre.

© WELL HOUSE CONSULTANTS LTD., 2024: 48 Spa Road • Melksham, Wiltshire • United Kingdom • SN12 7NY
PH: 01144 1225 708225 • EMAIL: • WEB: • SKYPE: wellho

PAGE: • PAGE BUILT: Sun Oct 11 14:50:09 2020 • BUILD SYSTEM: JelliaJamb