// Class Level Privacy // classLevelPrivacy.cpp // OOP244 // Jun 8 2009 #include #include using namespace std; const int M = 13; class Student { int no; char grade[M+1]; public: void set(const Student& src); void set(int, const char*); void display() const; }; // sets current object using data from src // void Student::set(const Student& src) { no = src.no; strcpy(grade, src.grade); } // resets the values of the data members // void Student::set(int n, const char* g){ int valid = n > 0 && strlen(g) <= M; for (int i = 0; valid && g[i] != '\0'; i++) valid = g[i] >= 'A' && g[i] <= 'D' || g[i] == 'F'; if (valid) { no = n; strcpy(grade, g); } } void Student::display() const { cout << no << ' ' << grade << endl; } int main () { Student harry, james; harry.set(1234, "ABACA"); james.set(1235, "BBCDC"); harry.display(); james.display(); harry.set(james); harry.display(); return 0; }