Lesson 9 | Private and public access |
Objective | Limiting access of members using private keyword. |
Private and Public Access in C++
The concept of struct
is augmented in C++ to allow functions to have public
and private
members. Inside a struct
, the use of the keyword private
followed by a colon restricts the access of any members that come after the keyword. Let us modify our example of ch_stack
to hide its data representation and explore how private
works. We will make the member functions public
and the data members private
:
const int max_len = 40;
struct ch_stack {
public:
void reset() { top = EMPTY; }
void push(char c)
{
assert(top != FULL);
top++;
s[top] = c;
}
char pop() {
assert(top!= EMPTY);
return s[top--];
}
char top_of()
{
assert(top!= EMPTY);
return s[top];
}
bool empty(){
return (top == EMPTY); }
bool full(){
return (top == FULL); }
private:
char s[max_len];
int top;
enum { EMPTY = -1, FULL = max_len - 1 };
};