{"id":15096,"date":"2023-03-28T12:42:31","date_gmt":"2023-03-28T12:42:31","guid":{"rendered":"https:\/\/www.prepbytes.com\/blog\/?p=15096"},"modified":"2024-01-08T04:56:52","modified_gmt":"2024-01-08T04:56:52","slug":"encapsulation-in-cpp","status":"publish","type":"post","link":"https:\/\/prepbytes.com\/blog\/encapsulation-in-cpp\/","title":{"rendered":"Encapsulation in C++"},"content":{"rendered":"<p><img decoding=\"async\" src=\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1680003855663-Encapsulation%20in%20C%2B%2B.jpg\" alt=\"\" \/><\/p>\n<p>Encapsulation stands as one of the fundamental principles of object-oriented programming, offering a robust way to create data abstraction and ensure data integrity in C++. By encapsulating data within classes and providing controlled access through interfaces, encapsulation promotes security, flexibility, and maintainability in software design. This article will delve into the concept of encapsulation in C++, exploring its significance, implementation, benefits, and best practices.<\/p>\n<h2>What is Encapsulation in C++?<\/h2>\n<p>To put it simply, encapsulation is the act of limiting the parts of an object\u2019s components to prevent users from having direct access to all of an object&#8217;s variables. It deals with hiding the complexity of the program. Encapsulation in C++ refers to the grouping of related data and functions into a single entity known as a class. By encapsulating these functions and related data, we protect them from any external change. This concept is also known as information or data concealment. Encapsulation is demonstrated in coding via containers, which group data and methods into a single package.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1680003855785-1-01%20%2844%29.png\" alt=\"\" \/><\/p>\n<h2>Features of Encapsulation in C++<\/h2>\n<p>Here are some features of encapsulation in C++:<\/p>\n<ul>\n<li><strong>Data Hiding:<\/strong> Encapsulation allows us to hide the implementation details of a class from the outside world. In other words, we can say, that the internal workings and implementation of a class are kept hidden from other parts of the program.<\/li>\n<li><strong>Abstraction:<\/strong> Encapsulation enables us to abstract the complex details of a class and present a simpler and more abstract interface to the outside world.<\/li>\n<li><strong>Access Control:<\/strong> Encapsulation allows us to control access to the data and functions within a class. By using access specifiers such as public, private, and protected, we can control which parts of the program can access and modify the data and functions.<\/li>\n<li><strong>Modularity:<\/strong> Encapsulation allows us to write self-contained chunks of code that can be reused in different parts of the program without rewriting the same code again<\/li>\n<\/ul>\n<h2>Role of Access Specifiers in Encapsulation<\/h2>\n<p>Access specifiers are an essential part of encapsulation in C++. They are used to control the visibility and accessibility of the data and functions within a class. In C++, access specifiers are classified as public, private, and protected.<\/p>\n<ul>\n<li>\n<p><strong>Public Access Specifier<\/strong><br \/>\nThe public access specifier allows the data and functions to be accessed from anywhere in the program. This means that anyone outside the class can access or modify the public members of the class.<\/p>\n<\/li>\n<li>\n<p><strong>Private Access Specifier<\/strong><br \/>\nThe private access specifier limits the access of data and functions only within the class. The data and functions declared private can be accessed only by the member functions of the same class. So if someone tries to access private data and functions from outside the class it will result in a compile-time error. <\/p>\n<\/li>\n<li>\n<p><strong>Protected Access Specifier<\/strong><br \/>\nThe protected access specifier is similar to private, but the difference is that it allows the derived classes to access the members. The protected members can be accessed by member functions of the derived class or a friend function.<\/p>\n<\/li>\n<\/ul>\n<p>In short words, we can say, access specifiers, are an important feature of encapsulation in C++. They allow us to control the visibility and accessibility of the data and functions within a class, and enforce the principle of information hiding. By using access specifiers, we can create more secure, robust, and maintainable code that is easier to understand and modify over time.<\/p>\n<h2>Implementation of Encapsulation in C++<\/h2>\n<p>To implement encapsulation in C++, we can define a class with private data members and public member functions. The private data members can only be accessed through the public member functions. Here&#8217;s an example of how to implement encapsulation in C++:<\/p>\n\t\t\t\t\t\t<style>\r\n\t\t\t\t\r\n\t\t\t\t\t#tab_container_15026 {\r\n\toverflow:hidden;\r\n\tdisplay:block;\r\n\twidth:100%;\r\n\tborder:0px solid #ddd;\r\n\tmargin-bottom:30px;\r\n\t}\r\n\r\n#tab_container_15026 .tab-content{\r\n\tpadding:20px;\r\n\tborder: 1px solid #e6e6e6 !important;\r\n\tmargin-top: 0px;\r\n\tbackground-color:#ffffff !important;\r\n\tcolor: #000000 !important;\r\n\tfont-size:16px !important;\r\n\tfont-family: Open Sans !important;\r\n\t\r\n\t\tborder: 1px solid #e6e6e6 !important;\r\n\t}\r\n#tab_container_15026 .wpsm_nav-tabs {\r\n    border-bottom: 0px solid #ddd;\r\n}\r\n#tab_container_15026 .wpsm_nav-tabs > li.active > a, #tab_container_15026 .wpsm_nav-tabs > li.active > a:hover, #tab_container_15026 .wpsm_nav-tabs > li.active > a:focus {\r\n\tcolor: #000000 !important;\r\n\tcursor: default;\r\n\tbackground-color: #ffffff !important;\r\n\tborder: 1px solid #e6e6e6 !important;\r\n}\r\n\r\n#tab_container_15026 .wpsm_nav-tabs > li > a {\r\n    margin-right: 0px !important; \r\n    line-height: 1.42857143 !important;\r\n    border: 1px solid #d5d5d5 !important;\r\n    border-radius: 0px 0px 0 0 !important; \r\n\tbackground-color: #e8e8e8 !important;\r\n\tcolor: #000000 !important;\r\n\tpadding: 15px 18px 15px 18px !important;\r\n\ttext-decoration: none !important;\r\n\tfont-size: 14px !important;\r\n\ttext-align:center !important;\r\n\tfont-family: Open Sans !important;\r\n}\r\n#tab_container_15026 .wpsm_nav-tabs > li > a:focus {\r\noutline: 0px !important;\r\n}\r\n\r\n#tab_container_15026 .wpsm_nav-tabs > li > a:before {\r\n\tdisplay:none !important;\r\n}\r\n#tab_container_15026 .wpsm_nav-tabs > li > a:after {\r\n\tdisplay:none !important ;\r\n}\r\n#tab_container_15026 .wpsm_nav-tabs > li{\r\npadding:0px !important ;\r\nmargin:0px;\r\n}\r\n\r\n#tab_container_15026 .wpsm_nav-tabs > li > a:hover , #tab_container_15026 .wpsm_nav-tabs > li > a:focus {\r\n    color: #000000 !important;\r\n    background-color: #e8e8e8 !important;\r\n\tborder: 1px solid #d5d5d5 !important;\r\n\t\r\n}\r\n#tab_container_15026 .wpsm_nav-tabs > li > a .fa{\r\n\r\nmargin-right:5px !important;\r\n\r\nmargin-left:5px !important;\r\n\r\n\r\n}\r\n\r\n\t\t#tab_container_15026 .wpsm_nav-tabs a{\r\n\t\t\tbackground-image: none;\r\n\t\t\tbackground-position: 0 0;\r\n\t\t\tbackground-repeat: repeat-x;\r\n\t\t}\r\n\t\t\t\r\n\r\n\r\n#tab_container_15026 .wpsm_nav-tabs > li {\r\n    float: left;\r\n    margin-bottom: -1px !important;\r\n\tmargin-right:0px !important; \r\n}\r\n\r\n\r\n#tab_container_15026 .tab-content{\r\noverflow:hidden !important;\r\n}\r\n\r\n\r\n@media (min-width: 769px) {\r\n\r\n\t#tab_container_15026 .wpsm_nav-tabs > li{\r\n\t\tfloat:left !important ;\r\n\t\t\t\tmargin-right:-1px !important;\r\n\t\t\t\t\t}\r\n\t#tab_container_15026 .wpsm_nav-tabs{\r\n\t\tfloat:none !important;\r\n\t\tmargin:0px !important;\r\n\t}\r\n\r\n\t#tab_container_15026 .wpsm_nav-tabs > li {\r\n\t\t\t\t\r\n\t}\r\n\t#tab_container_15026 .wpsm_nav{\r\n\t\t\t}\r\n\r\n}\r\n\r\n\r\n\r\n@media (max-width: 768px) {\r\n\t#tab_container_15026 .wpsm_nav-tabs > li {\r\n\t\t\t\t\r\n\t}\r\n\t#tab_container_15026 .wpsm_nav{\r\n\t\t\t}\r\n}\r\n\r\n\r\n\t.wpsm_nav-tabs li:before{\r\n\t\tdisplay:none !important;\r\n\t}\r\n\r\n\t@media (max-width: 768px) {\r\n\t\t\t\t\r\n\t\t\t\t.wpsm_nav-tabs{\r\n\t\t\tmargin-left:0px !important;\r\n\t\t\tmargin-right:0px !important; \r\n\t\t\t\r\n\t\t}\r\n\t\t\t\t#tab_container_15026 .wpsm_nav-tabs > li{\r\n\t\t\tfloat:none !important;\r\n\t\t}\r\n\t\t\t\r\n\t}\t\t\t\t<\/style>\r\n\t\t\t\t<div id=\"tab_container_15026\" >\r\n\t \r\n\t\t\t\t\t<ul class=\"wpsm_nav wpsm_nav-tabs\" role=\"tablist\" id=\"myTab_15026\">\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t<li role=\"presentation\"  class=\"active\"  onclick=\"do_resize()\">\r\n\t\t\t\t\t\t\t\t<a href=\"#tabs_desc_15026_1\" aria-controls=\"tabs_desc_15026_1\" role=\"tab\" data-toggle=\"tab\">\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<i class=\"fa fa-code\"><\/i> \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t<span>C++<\/span>\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t<\/a>\r\n\t\t\t\t\t\t\t<\/li>\r\n\t\t\t\t\t\t\t\t\t\t\t <\/ul>\r\n\r\n\t\t\t\t\t  <!-- Tab panes -->\r\n\t\t\t\t\t  <div class=\"tab-content\" id=\"tab-content_15026\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t <div role=\"tabpanel\" class=\"tab-pane  in active \" id=\"tabs_desc_15026_1\">\r\n\t\t\t\t\t\t\t\t<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"cpp\">#include &lt;bits\/stdc++.h&gt;\r\nusing namespace std;\r\n\r\nclass Person {\r\nprivate:\r\n    string name;\r\n    int age;\r\npublic:\r\n    Person(string name, int age) {\r\n    this-&gt;name = name;\r\n    this-&gt;age = age;\r\n    }\r\n    void setName(string name) {\r\n    this-&gt;name = name;\r\n    }\r\n    string getName() {\r\n    return name;\r\n    }\r\n    void setAge(int age) {\r\n    this-&gt;age = age;\r\n    }\r\n    int getAge() {\r\n    return age;\r\n    }\r\n};\r\n\r\nint main() {\r\nPerson person(\"Manoj\", 21);\r\n\r\ncout &lt;&lt; \"Name: \" &lt;&lt; person.getName() &lt;&lt; endl;\r\ncout &lt;&lt; \"Age: \" &lt;&lt; person.getAge() &lt;&lt; endl;\r\n\r\nperson.setName(\"Himanshu\");\r\nperson.setAge(25);\r\n\r\ncout &lt;&lt; \"Name: \" &lt;&lt; person.getName() &lt;&lt; endl;\r\ncout &lt;&lt; \"Age: \" &lt;&lt; person.getAge() &lt;&lt; endl;\r\n\r\nreturn 0;\r\n}<\/pre>\t\t\t\t\t\t <\/div>\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t <\/div>\r\n\t\t\t\t\t \r\n\t\t\t\t <\/div>\r\n <script>\r\n\t\tjQuery(function () {\r\n\t\t\tjQuery('#myTab_15026 a:first').tab('show')\r\n\t\t});\r\n\t\t\r\n\t\t\t\tjQuery(function(){\r\n\t\t\tvar b=\"fadeIn\";\r\n\t\t\tvar c;\r\n\t\t\tvar a;\r\n\t\t\td(jQuery(\"#myTab_15026 a\"),jQuery(\"#tab-content_15026\"));function d(e,f,g){\r\n\t\t\t\te.click(function(i){\r\n\t\t\t\t\ti.preventDefault();\r\n\t\t\t\t\tjQuery(this).tab(\"show\");\r\n\t\t\t\t\tvar h=jQuery(this).data(\"easein\");\r\n\t\t\t\t\tif(c){c.removeClass(a);}\r\n\t\t\t\t\tif(h){f.find(\"div.active\").addClass(\"animated \"+h);a=h;}\r\n\t\t\t\t\telse{if(g){f.find(\"div.active\").addClass(\"animated \"+g);a=g;}else{f.find(\"div.active\").addClass(\"animated \"+b);a=b;}}c=f.find(\"div.active\");\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t});\r\n\t\t\r\n\r\n\t\tfunction do_resize(){\r\n\r\n\t\t\tvar width=jQuery( '.tab-content .tab-pane iframe' ).width();\r\n\t\t\tvar height=jQuery( '.tab-content .tab-pane iframe' ).height();\r\n\r\n\t\t\tvar toggleSize = true;\r\n\t\t\tjQuery('iframe').animate({\r\n\t\t\t    width: toggleSize ? width : 640,\r\n\t\t\t    height: toggleSize ? height : 360\r\n\t\t\t  }, 250);\r\n\r\n\t\t\t  toggleSize = !toggleSize;\r\n\t\t}\r\n\r\n\r\n\t<\/script>\r\n\t\t\t\t\r\n\t\t\t\n<p><strong>Output<\/strong><\/p>\n<pre><code>Name: Manoj\nAge: 21\nName: Himanshu\nAge: 25<\/code><\/pre>\n<p><strong>Explanation:<\/strong> In the above example, we have defined a class called Person which has private data members i.e name and age. The setters are used to set the values, while the getters are used to retrieve the value of these private data members.<\/p>\n<p><strong>Conclusion<\/strong><br \/>\nEncapsulation in C++ is a pivotal concept that enables developers to design robust, secure, and maintainable codebases. By encapsulating data within classes and controlling access through well-defined interfaces, C++ programs become more resilient to unintended manipulation, ensuring data integrity and security. Embracing encapsulation principles leads to modular, reusable, and easily maintainable code, fostering better software design practices.<\/p>\n<h2>FAQs Related to Encapsulation in C++<\/h2>\n<p>Here are some frequently asked questions on encapsulation in C++.<\/p>\n<p><strong>1. How does encapsulation contribute to data hiding in C++?<\/strong><br \/>\nEncapsulation enables data hiding by making class members private, preventing direct access from outside the class. Access to these members is provided through public methods, allowing controlled and safe manipulation of the data while hiding implementation details.<\/p>\n<p><strong>2. What is the importance of encapsulation?<\/strong><br \/>\nEncapsulation ensures data security by hiding implementation details, promotes code reusability, enhances maintainability by localizing changes within a class, and helps establish clear interfaces, reducing dependencies among different parts of a program.<\/p>\n<p><strong>3. How is encapsulation achieved in C++?<\/strong><br \/>\nIn C++, encapsulation is accomplished by declaring class members as private to prevent direct access from outside the class. Public member functions (getters\/setters) are then used to manipulate and access the private members.<\/p>\n<p><strong>4. Why use access specifiers like private and public in encapsulation?<\/strong><br \/>\nAccess specifiers like private, public, and protected in C++ control the accessibility of class members. Private members are only accessible within the class, while public members can be accessed from outside the class. This ensures controlled access to data, a core aspect of encapsulation.<\/p>\n<p><strong>5. Can encapsulation be achieved without using classes in C++?<\/strong><br \/>\nEncapsulation is primarily achieved through classes in C++. The use of classes allows data hiding, creating a boundary between the implementation details and the interface, essential for encapsulation.<\/p>\n<p><strong>6. What are the benefits of encapsulation in C++?<\/strong><br \/>\nEncapsulation enhances security by preventing unauthorized access to data, improves maintainability by localizing changes, promotes code reusability, and facilitates better organization and understanding of the code.<\/p>\n<p><strong>7. Are there any drawbacks to encapsulation?<\/strong><br \/>\nWhile encapsulation provides numerous benefits, over-encapsulation might lead to increased complexity and overhead, especially if the class interfaces are excessively granular or if there&#8217;s an over-reliance on getters and setters.<\/p>\n<p><strong>8. Can encapsulation and inheritance work together in C++?<\/strong><br \/>\nYes, encapsulation and inheritance can work together in C++. Inheritance allows the creation of new classes based on existing ones, while encapsulation ensures data integrity and controlled access to members, allowing for better design and code reuse.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Encapsulation stands as one of the fundamental principles of object-oriented programming, offering a robust way to create data abstraction and ensure data integrity in C++. By encapsulating data within classes and providing controlled access through interfaces, encapsulation promotes security, flexibility, and maintainability in software design. This article will delve into the concept of encapsulation in [&hellip;]<\/p>\n","protected":false},"author":52,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[3],"tags":[],"class_list":["post-15096","post","type-post","status-publish","format-standard","hentry","category-cpp-programming"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v25.8 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Encapsulation in C++<\/title>\n<meta name=\"description\" content=\"Encapsulation in C++ is an important concept that helps to protect data from unauthorized access and modification.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/prepbytes.com\/blog\/encapsulation-in-cpp\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Encapsulation in C++\" \/>\n<meta property=\"og:description\" content=\"Encapsulation in C++ is an important concept that helps to protect data from unauthorized access and modification.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/prepbytes.com\/blog\/encapsulation-in-cpp\/\" \/>\n<meta property=\"og:site_name\" content=\"PrepBytes Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prepbytes0211\/\" \/>\n<meta property=\"article:published_time\" content=\"2023-03-28T12:42:31+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-01-08T04:56:52+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1680003855663-Encapsulation%20in%20C%2B%2B.jpg\" \/>\n<meta name=\"author\" content=\"Prepbytes\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Prepbytes\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/prepbytes.com\/blog\/encapsulation-in-cpp\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/encapsulation-in-cpp\/\"},\"author\":{\"name\":\"Prepbytes\",\"@id\":\"http:\/\/43.205.93.38\/#\/schema\/person\/3f7dc4ae851791d5947a7f99df363d5e\"},\"headline\":\"Encapsulation in C++\",\"datePublished\":\"2023-03-28T12:42:31+00:00\",\"dateModified\":\"2024-01-08T04:56:52+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/encapsulation-in-cpp\/\"},\"wordCount\":1060,\"commentCount\":0,\"publisher\":{\"@id\":\"http:\/\/43.205.93.38\/#organization\"},\"image\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/encapsulation-in-cpp\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1680003855663-Encapsulation%20in%20C%2B%2B.jpg\",\"articleSection\":[\"C++ Programming\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/prepbytes.com\/blog\/encapsulation-in-cpp\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/prepbytes.com\/blog\/encapsulation-in-cpp\/\",\"url\":\"https:\/\/prepbytes.com\/blog\/encapsulation-in-cpp\/\",\"name\":\"Encapsulation in C++\",\"isPartOf\":{\"@id\":\"http:\/\/43.205.93.38\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/encapsulation-in-cpp\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/encapsulation-in-cpp\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1680003855663-Encapsulation%20in%20C%2B%2B.jpg\",\"datePublished\":\"2023-03-28T12:42:31+00:00\",\"dateModified\":\"2024-01-08T04:56:52+00:00\",\"description\":\"Encapsulation in C++ is an important concept that helps to protect data from unauthorized access and modification.\",\"breadcrumb\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/encapsulation-in-cpp\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/prepbytes.com\/blog\/encapsulation-in-cpp\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/prepbytes.com\/blog\/encapsulation-in-cpp\/#primaryimage\",\"url\":\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1680003855663-Encapsulation%20in%20C%2B%2B.jpg\",\"contentUrl\":\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1680003855663-Encapsulation%20in%20C%2B%2B.jpg\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/prepbytes.com\/blog\/encapsulation-in-cpp\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"http:\/\/43.205.93.38\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"C++ Programming\",\"item\":\"https:\/\/prepbytes.com\/blog\/category\/cpp-programming\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Encapsulation in C++\"}]},{\"@type\":\"WebSite\",\"@id\":\"http:\/\/43.205.93.38\/#website\",\"url\":\"http:\/\/43.205.93.38\/\",\"name\":\"PrepBytes Blog\",\"description\":\"ONE-STOP RESOURCE FOR EVERYTHING RELATED TO CODING\",\"publisher\":{\"@id\":\"http:\/\/43.205.93.38\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"http:\/\/43.205.93.38\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"http:\/\/43.205.93.38\/#organization\",\"name\":\"Prepbytes\",\"url\":\"http:\/\/43.205.93.38\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"http:\/\/43.205.93.38\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/blog.prepbytes.com\/wp-content\/uploads\/2025\/07\/uzxxllgloialmn9mhwfe.webp\",\"contentUrl\":\"https:\/\/blog.prepbytes.com\/wp-content\/uploads\/2025\/07\/uzxxllgloialmn9mhwfe.webp\",\"width\":160,\"height\":160,\"caption\":\"Prepbytes\"},\"image\":{\"@id\":\"http:\/\/43.205.93.38\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/prepbytes0211\/\",\"https:\/\/www.instagram.com\/prepbytes\/\",\"https:\/\/www.linkedin.com\/company\/prepbytes\/\",\"https:\/\/www.youtube.com\/channel\/UC0xGnHDrjUM1pDEK2Ka5imA\"]},{\"@type\":\"Person\",\"@id\":\"http:\/\/43.205.93.38\/#\/schema\/person\/3f7dc4ae851791d5947a7f99df363d5e\",\"name\":\"Prepbytes\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"http:\/\/43.205.93.38\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/232042cd1a1ea0e982c96d2a2ec93fb70a8e864e00784491231e7bfe5a9e06b5?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/232042cd1a1ea0e982c96d2a2ec93fb70a8e864e00784491231e7bfe5a9e06b5?s=96&d=mm&r=g\",\"caption\":\"Prepbytes\"},\"url\":\"https:\/\/prepbytes.com\/blog\/author\/gourav-jaincollegedekho-com\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Encapsulation in C++","description":"Encapsulation in C++ is an important concept that helps to protect data from unauthorized access and modification.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/prepbytes.com\/blog\/encapsulation-in-cpp\/","og_locale":"en_US","og_type":"article","og_title":"Encapsulation in C++","og_description":"Encapsulation in C++ is an important concept that helps to protect data from unauthorized access and modification.","og_url":"https:\/\/prepbytes.com\/blog\/encapsulation-in-cpp\/","og_site_name":"PrepBytes Blog","article_publisher":"https:\/\/www.facebook.com\/prepbytes0211\/","article_published_time":"2023-03-28T12:42:31+00:00","article_modified_time":"2024-01-08T04:56:52+00:00","og_image":[{"url":"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1680003855663-Encapsulation%20in%20C%2B%2B.jpg","type":"","width":"","height":""}],"author":"Prepbytes","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Prepbytes","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/prepbytes.com\/blog\/encapsulation-in-cpp\/#article","isPartOf":{"@id":"https:\/\/prepbytes.com\/blog\/encapsulation-in-cpp\/"},"author":{"name":"Prepbytes","@id":"http:\/\/43.205.93.38\/#\/schema\/person\/3f7dc4ae851791d5947a7f99df363d5e"},"headline":"Encapsulation in C++","datePublished":"2023-03-28T12:42:31+00:00","dateModified":"2024-01-08T04:56:52+00:00","mainEntityOfPage":{"@id":"https:\/\/prepbytes.com\/blog\/encapsulation-in-cpp\/"},"wordCount":1060,"commentCount":0,"publisher":{"@id":"http:\/\/43.205.93.38\/#organization"},"image":{"@id":"https:\/\/prepbytes.com\/blog\/encapsulation-in-cpp\/#primaryimage"},"thumbnailUrl":"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1680003855663-Encapsulation%20in%20C%2B%2B.jpg","articleSection":["C++ Programming"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/prepbytes.com\/blog\/encapsulation-in-cpp\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/prepbytes.com\/blog\/encapsulation-in-cpp\/","url":"https:\/\/prepbytes.com\/blog\/encapsulation-in-cpp\/","name":"Encapsulation in C++","isPartOf":{"@id":"http:\/\/43.205.93.38\/#website"},"primaryImageOfPage":{"@id":"https:\/\/prepbytes.com\/blog\/encapsulation-in-cpp\/#primaryimage"},"image":{"@id":"https:\/\/prepbytes.com\/blog\/encapsulation-in-cpp\/#primaryimage"},"thumbnailUrl":"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1680003855663-Encapsulation%20in%20C%2B%2B.jpg","datePublished":"2023-03-28T12:42:31+00:00","dateModified":"2024-01-08T04:56:52+00:00","description":"Encapsulation in C++ is an important concept that helps to protect data from unauthorized access and modification.","breadcrumb":{"@id":"https:\/\/prepbytes.com\/blog\/encapsulation-in-cpp\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/prepbytes.com\/blog\/encapsulation-in-cpp\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/prepbytes.com\/blog\/encapsulation-in-cpp\/#primaryimage","url":"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1680003855663-Encapsulation%20in%20C%2B%2B.jpg","contentUrl":"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1680003855663-Encapsulation%20in%20C%2B%2B.jpg"},{"@type":"BreadcrumbList","@id":"https:\/\/prepbytes.com\/blog\/encapsulation-in-cpp\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"http:\/\/43.205.93.38\/"},{"@type":"ListItem","position":2,"name":"C++ Programming","item":"https:\/\/prepbytes.com\/blog\/category\/cpp-programming\/"},{"@type":"ListItem","position":3,"name":"Encapsulation in C++"}]},{"@type":"WebSite","@id":"http:\/\/43.205.93.38\/#website","url":"http:\/\/43.205.93.38\/","name":"PrepBytes Blog","description":"ONE-STOP RESOURCE FOR EVERYTHING RELATED TO CODING","publisher":{"@id":"http:\/\/43.205.93.38\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"http:\/\/43.205.93.38\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"http:\/\/43.205.93.38\/#organization","name":"Prepbytes","url":"http:\/\/43.205.93.38\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"http:\/\/43.205.93.38\/#\/schema\/logo\/image\/","url":"https:\/\/blog.prepbytes.com\/wp-content\/uploads\/2025\/07\/uzxxllgloialmn9mhwfe.webp","contentUrl":"https:\/\/blog.prepbytes.com\/wp-content\/uploads\/2025\/07\/uzxxllgloialmn9mhwfe.webp","width":160,"height":160,"caption":"Prepbytes"},"image":{"@id":"http:\/\/43.205.93.38\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/prepbytes0211\/","https:\/\/www.instagram.com\/prepbytes\/","https:\/\/www.linkedin.com\/company\/prepbytes\/","https:\/\/www.youtube.com\/channel\/UC0xGnHDrjUM1pDEK2Ka5imA"]},{"@type":"Person","@id":"http:\/\/43.205.93.38\/#\/schema\/person\/3f7dc4ae851791d5947a7f99df363d5e","name":"Prepbytes","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"http:\/\/43.205.93.38\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/232042cd1a1ea0e982c96d2a2ec93fb70a8e864e00784491231e7bfe5a9e06b5?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/232042cd1a1ea0e982c96d2a2ec93fb70a8e864e00784491231e7bfe5a9e06b5?s=96&d=mm&r=g","caption":"Prepbytes"},"url":"https:\/\/prepbytes.com\/blog\/author\/gourav-jaincollegedekho-com\/"}]}},"_links":{"self":[{"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/posts\/15096","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/users\/52"}],"replies":[{"embeddable":true,"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/comments?post=15096"}],"version-history":[{"count":4,"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/posts\/15096\/revisions"}],"predecessor-version":[{"id":18633,"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/posts\/15096\/revisions\/18633"}],"wp:attachment":[{"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/media?parent=15096"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/categories?post=15096"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/tags?post=15096"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}