Example by: Ira Oldham, References: Savitch eighth edition, section 10.2; Gaddis seventh edition, section 14.3
If your class only contains primitive data types such as int or double, the assignment operator can be used to copy an object that is a member of this class.
1 class Date
2 {
3 int day;
4 int month;
5 int year;
6 bool validate(int day_parm, int month_parm, int year_parm);
7 public:
8 bool set_date(int day_parm, int month_parm, int year_parm);
9 void print_date();
10 int get_day() {return day;}
11 int get_month() {return month;}
12 int get_year() {return year;}
13 };
14 int main(void)
15 {
16 Date today;
...
17 cout << "Date: ";
18 today.print_date();
19 Date date_copy = today;
20 cout << "Date: ";
21 date_copy.print_date();
...
22}
23 void Date::print_date()
24 {
25 cout << month << '/' << day << '/' << year << endl;
26 }
Input date: day: 31 month: 12 year: 1234 Date: 12/31/1234 Date: 12/31/1234
If each one of the member data in a class has a primitive data type (not pointers or references), the assignment operator can be used to copy an object that is a member of that class.