I define a class named MyString. Part of it follows:
class MyString{
private:
char *Str;
int Length;
public:
MyString():Str(NULL),Length(0) {}
MyString(const MyString &rhs);
~MyString() {delete [] Str;}
};
Why am i allowed to use rhs's private variable rhs.Str from a method of another object? What am i doing wrong?
MyString::MyString(const MyString &rhs)
{
Str = new char[rhs.Length +1];
for(int i=0;i<=Length;i++) *(rhs.Str+i)= *(Str+i);
cout<<"Copy Constructor Called...";
}