I'm writing a data entry program that for a course to get better practice
using inheritance. Here is the header file:

class Course
{

friend ostream &operator<<(ostream &, const Course &);

public:
// Default Constructor.
Course(char *CourseName = "", char *instructor = "", char * semesterYr =
"");
Course(const Course &); // Copy constructor.
~Course();

const Course & operator=(const Course &);

protected:
char *CourseName;
char *instructor;
char *semesterYr;
};

My .cpp is as follows:

#include<iostream.h>
#include<string.h>
#include "Course.h"
#include<assert.h>

Course::Course(char* n, char* i, char* sy)
{
CourseName = n;
instructor = i;
semesterYr = sy;
}

Course::Course(const Course &objC)
{
CourseName = new char[strlen(objC.CourseName) + 1];
strcpy(CourseName,objC.CourseName);

instructor = new char[strlen(objC.instructor) + 1];
strcpy(instructor,objC.instructor);

semesterYr = new char[strlen(objC.semesterYr) + 1];
strcpy(semesterYr,objC.semesterYr);

}


Course::~Course()
{
delete CourseName, instructor, semesterYr;
}

ostream &operator<<(ostream &out, const Course &right)
{
out <<"Course Name is " <<right.CourseName<<endl;
out <<"Instructor is " <<right.instructor<<endl;
out <<"Semester/Yr. is " <<right.semesterYr<<endl;
return out;
}

const Course &Course::operator=(const Course &right)
{
delete CourseName, instructor, semesterYr;
CourseName = new char[strlen(right.CourseName) + 1];
strcpy(CourseName,right.CourseName);

instructor = new char[strlen(right.instructor) + 1];
strcpy(instructor,right.instructor);

semesterYr = new char[strlen(right.semesterYr) + 1];
strcpy(semesterYr,right.semesterYr);
return *this;
}


void main()
{
Course U("CETH 2261","Jeff","Spring");
cout<<U;
}

OK NOW HERE'S MY ISSUES:
The program complies and links fine. However, when I run the app it gives
me a "Debug Assertion Failed" error. Why is that and how do I fix?

Thanks in advance,
eejay