KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
In the book C++ Primer it has a code for C - style character arrays, and shows how to overload the = operator in the Article 15.3 Operator = . String& String::operator=( const char *sobj ) { // sobj is the null pointer, if ( ! sobj ) { _size = 0; delete[] _string; _string = 0; } else { _size = strlen( sobj ); delete[] _string; _string = new char[ _size + 1 ]; strcpy( _string, sobj ); } return *this; } Now i would like to know why is there the need to return a reference String & when this code below does the same job, without any problem: void String::operator=( const char *sobj ) { // sobj is the null pointer, if ( ! sobj ) { _size = 0; delete[] _string; _string = 0; } else { _size = strlen( sobj ); delete[] _string; _string = new char[ _size + 1 ]; strcpy( _string, sobj ); } } please help out.
Tags (comma-separated)
Save Edits
Cancel