You may change access specifications as often as you like within a class declaration
#include <iostream>
#include <cstring>
using namespace std;
class Person {
char name[80]; // private by default
public:
void setName(char *n); // these are public
void getName(char *n);
private:
double wage; // now, private again
public:
void setWage(double w); // back to public
double getWage();
};
void Person::setName(char *n)
{
strcpy(name, n);
}
void Person::getName(char *n)
{
strcpy(n, name);
}
void Person::setWage(double w)
{
wage = w;
}
double Person::getWage()
{
return wage;
}
int main()
{
Person ted;
char name[80];
ted.setName("Ted Jones");
ted.setWage(75000);
ted.getName(name);
cout << name << " makes $";
cout << ted.getWage() << " per year.";
return 0;
}
Related examples in the same category