Home »
C++ programs »
C++ class and object programs
Structure with private members in C++
C++ | Structure with private members: Here, we are going to learn private members of the structure in C++ programming with an example?
Submitted by IncludeHelp, on September 19, 2018 [Last updated : March 01, 2023]
As we know that by default, structures members are public by nature and they can be accessed anywhere using structure variable name.
Sometimes a question arose "Can a structure has private members?"
The answer is "Yes! In C++, we can declare private members in the structure". So the important thing is that "we can declare a structure just like a class with private and public members".
Implementation of structure with private members in C++
In this example, we are declaring a structure named "Student" which has two private data members rNo to store roll number of the student and perc to store a percentage of the student. And, to public member functions read() to read student details (roll number and percentage) of the student and print() to print the student details (roll number and percentage).
Public member functions read() and print() are accessing private data members rNo and perc just like a class. And the public member functions are calling within the main() function using the structure variable named std.
C++ program to implement the structure with private members
#include <iostream>
using namespace std;
//structure definition with private and public memebers
struct Student {
private:
int rNo;
float perc;
public:
//function to read details
void read(void)
{
cout << "Enter roll number: ";
cin >> rNo;
cout << "Enter percentage: ";
cin >> perc;
}
//function to print details
void print(void)
{
cout << endl;
cout << "Roll number: " << rNo << endl;
cout << "Pecentage: " << perc << "%" << endl;
}
};
//Main code
int main()
{
//declaring structure variable
struct Student std;
//reading and printing student details
//by calling public member functions of the structure
std.read();
std.print();
return 0;
}
Output
Enter roll number: 101
Enter percentage: 84.02
Roll number: 101
Pecentage: 84.02%