Monday, February 10, 2003

The online notes for C++ may be kind of sparse for the next few lectures as I will be trying to keep notes on paper instead (typing with one hand has become increasingly frustrating). The good news is that I intend to follow the C++ book more linearly (with a few minor exceptions) than I followed the C book. As my arm heals, I may come back and redo these notes.

Many of these examples are directly from Koenig & Moo (K&M). You can find a copy of this text on reserve in the library.

Hello world! program (review) (K&M Chapter 0)

Compiling C++ programs

Introduction to Namespaces

Bug! in g++ 2.96. The standard library names are automatically place in the global namespace, This is nonstandard behaviour. g++ 3.x gets it right.

cout and <<

Aside: bitwise operators

Working with string's (K&M Chapter 1)

std::string::size_type

String operations (concatenation, construction).


/*

Sample execution:

Please enter your first name: Estragon

********************
*                  *
* Hello, Estragon! *
*                  *
********************
*/


// ask for a person's name, and generate a framed greeting
#include <iostream>
#include <string>

int main()
{
	std::cout << "Please enter your first name: ";
	std::string name;
	std::cin >> name;

	// build the message that we intend to write
	const std::string greeting = "Hello, " + name + "!";

	// build the second and fourth lines of the output
	const std::string spaces(greeting.size(), ' ');
	const std::string second = "* " + spaces + " *";

	// build the first and fifth lines of the output
	const std::string first(second.size(), '*');

	// write it all
	std::cout << std::endl;
	std::cout << first << std::endl;
	std::cout << second << std::endl;
	std::cout << "* " << greeting << " *" << std::endl;
	std::cout << second << std::endl;
	std::cout << first << std::endl;

	return 0;
}



Last modified: Mon Feb 10 15:31:26 2003