
Discover how C++ extends C with namespaces, streams, and object‑oriented features, and learn about compilers, IDEs, and core topics from basics to classes, templates, and multiple inheritance.
Explore C++ primitive data types and the size of operator, learn how byte sizes vary by system such as 64-bit vs 32-bit, and how to compile, link, and run programs.
Explore how namespaces define scopes, resolve names with the scope resolution operator such as cout and endl, and use using namespace to simplify access.
Learn typesafe input output in C++ using streams, including cout, cin, cerr, and clog. Prompt for a name, read it, and greet the user with the stream insertion operator.
See how to read an entire line in C++ with getline, not just the first word. The example captures a full name and prints a greeting.
This lecture explains variable initialization in C++ with C-style, constructor, and uniform initialization, then introduces the string class, its size, find, operator overloading, concatenation, and basic string manipulation.
Learn how string streams work in C++ by using stringstream to read and format input, convert arrays to a stream, and safely type-check values before outputting.
Explore file input and output in C++, using infile and outfile streams. Learn to copy a text file to another file with getline and proper end-of-line handling, then close streams.
Use an input file stream to read numbers from a file called numbers text, compute the average with a while loop, and optionally write results with an ofstream.
Explore how functions in C++ follow C syntax, then learn pass by value versus pass by reference using ampersands. See swap, return values, and const references, and understand function prototypes.
Explore why using separate add functions for int, float, and string is bad C++ practice. Learn how templates provide a single, powerful solution for multiple parameter and return types.
Discover how function templates enable a single template to add ints, floats, booleans, and strings, with implicit instantiation and the option of explicit instantiation.
Learn C++ template concepts through explicit instantiation of a function template multiply for int and float, and compare explicit versus implicit instantiation and when it occurs.
Learn how to declare C++ classes, define a point type with private x and y, and access members with public constructors, getters, this, scope resolution, and the arrow operator.
Learn how destructors prevent memory leaks by explicitly deleting dynamically allocated points in a line class, ensuring heap objects are freed when a line is deleted.
This course is an introduction to the C++ programming language for those who are already familiar with C syntax and some basic principles of object oriented programming. C++ is based on C, but extends the language with features such as function templates, namespaces, and (of course) classes. We'll spend a lot of time in the first hour of the course talking about streams, which simplify input and output a great deal.
Here's a list of what you'll learn:
- Primitive data types and variables
- How to create and use namespaces
- Basic I/O in C++ using streams
- Using stringstreams: input and output directly from strings
- File input and output using streams
- Functions: how they're like C functions, and how they differ
- Function templates - a look at writing generic code
- Classes and objects
- Constructors and destructors
- Inheritance (Single and Multiple)
- The idea of friend class members.
If you've been thinking about learning C++, then this course is a good first step.