//File:  swap2.cpp
#include <iostream>
#include <string>
using namespace std;

//C string swap
void cswap (char * * p, char * * q)
{
	char * temp = *p; //0 is the null pointer
	*p = *q;
	*q = temp;
}

//C++ string swap
void cppswap (string & a, string & b)
{
	string temp = a;
	a = b;
	b = temp;
}

int main()
{
	char * 	cstring1	= "First C String ";
	char *	cstring2 	= "Second C String";
	
	string 	string1		= "First C++ String ",
		string2		= "Second C++ String";
		
	cout 	<< "The C strings in order are:\t" << cstring1
		<< "\t\t" << cstring2 << endl;
		
	cout	<< "The C++ strings in order are: \t" << string1
		<< "\t" << string2 << '\n' << endl;
		
	cout	<< "AFTER THE SWAPS\n" << endl;
	
	cswap (&cstring1, &cstring2);
	cppswap (string1, string2);
	
	cout 	<< "The C strings in order are:\t" << cstring1
		<< "\t\t" << cstring2 << endl;
		
	cout	<< "The C++ strings in order are:\t" << string1
		<< "\t" << string2 << endl;
		
	return 0;
}

