{"id":10139,"date":"2024-03-14T11:37:23","date_gmt":"2024-03-14T11:37:23","guid":{"rendered":"https:\/\/www.silicloud.com\/blog\/how-to-use-protected-in-c\/"},"modified":"2025-08-03T19:41:52","modified_gmt":"2025-08-03T19:41:52","slug":"how-to-use-protected-in-c","status":"publish","type":"post","link":"https:\/\/www.silicloud.com\/blog\/how-to-use-protected-in-c\/","title":{"rendered":"C++ Protected: Usage Guide for Developers"},"content":{"rendered":"<p>In C++, the protected keyword is used to declare a class&#8217;s member attributes and methods that can be accessed by the class&#8217;s derived classes but not directly by objects of the class.<\/p>\n<p>When using the keyword protected, members declared as protected can be accessed within the class and its derived classes. An example is shown below:<\/p>\n<pre class=\"post-pre\"><code><span class=\"hljs-keyword\">class<\/span> <span class=\"hljs-title class_\">Base<\/span> {\r\n<span class=\"hljs-keyword\">protected<\/span>:\r\n    <span class=\"hljs-type\">int<\/span> protectedVar;\r\n\r\n<span class=\"hljs-keyword\">public<\/span>:\r\n    <span class=\"hljs-built_in\">Base<\/span>() {\r\n        protectedVar = <span class=\"hljs-number\">10<\/span>;\r\n    }\r\n\r\n    <span class=\"hljs-function\"><span class=\"hljs-type\">void<\/span> <span class=\"hljs-title\">printProtectedVar<\/span><span class=\"hljs-params\">()<\/span> <\/span>{\r\n        cout &lt;&lt; <span class=\"hljs-string\">\"Protected Variable: \"<\/span> &lt;&lt; protectedVar &lt;&lt; endl;\r\n    }\r\n};\r\n\r\n<span class=\"hljs-keyword\">class<\/span> <span class=\"hljs-title class_\">Derived<\/span> : <span class=\"hljs-keyword\">public<\/span> Base {\r\n<span class=\"hljs-keyword\">public<\/span>:\r\n    <span class=\"hljs-function\"><span class=\"hljs-type\">void<\/span> <span class=\"hljs-title\">modifyProtectedVar<\/span><span class=\"hljs-params\">()<\/span> <\/span>{\r\n        protectedVar = <span class=\"hljs-number\">20<\/span>;\r\n        cout &lt;&lt; <span class=\"hljs-string\">\"Modified Protected Variable: \"<\/span> &lt;&lt; protectedVar &lt;&lt; endl;\r\n    }\r\n};\r\n\r\n<span class=\"hljs-function\"><span class=\"hljs-type\">int<\/span> <span class=\"hljs-title\">main<\/span><span class=\"hljs-params\">()<\/span> <\/span>{\r\n    Base obj;\r\n    obj.<span class=\"hljs-built_in\">printProtectedVar<\/span>(); <span class=\"hljs-comment\">\/\/ \u5728\u7c7b\u7684\u6210\u5458\u51fd\u6570\u4e2d\u8bbf\u95eeprotected\u6210\u5458<\/span>\r\n\r\n    Derived derivedObj;\r\n    derivedObj.<span class=\"hljs-built_in\">modifyProtectedVar<\/span>(); <span class=\"hljs-comment\">\/\/ \u5728\u6d3e\u751f\u7c7b\u7684\u6210\u5458\u51fd\u6570\u4e2d\u8bbf\u95eeprotected\u6210\u5458<\/span>\r\n\r\n    <span class=\"hljs-keyword\">return<\/span> <span class=\"hljs-number\">0<\/span>;\r\n}\r\n<\/code><\/pre>\n<p>In this example, the Base class declares a protected member variable protectedVar and defines a member function printProtectedVar to access this member variable. The Derived class inherits from the Base class, and defines a member function modifyProtectedVar to modify the value of protectedVar. In the main function, objects are created for both the Base class, obj, and the Derived class, derivedObj, and their respective member functions are called to access and modify the protected member.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In C++, the protected keyword is used to declare a class&#8217;s member attributes and methods that can be accessed by the class&#8217;s derived classes but not directly by objects of the class. When using the keyword protected, members declared as protected can be accessed within the class and its derived classes. An example is shown [&hellip;]<\/p>\n","protected":false},"author":11,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_import_markdown_pro_load_document_selector":0,"_import_markdown_pro_submit_text_textarea":"","footnotes":""},"categories":[1],"tags":[692,274,442,443,9669],"class_list":["post-10139","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-access-modifiers","tag-c","tag-inheritance","tag-oop","tag-protected-keyword"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v21.5 (Yoast SEO v21.5) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>C++ Protected: Usage Guide for Developers - Blog - Silicon Cloud<\/title>\n<meta name=\"description\" content=\"Master C++ protected keyword syntax, access rules, and inheritance best practices with practical code examples.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.silicloud.com\/blog\/how-to-use-protected-in-c\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"C++ Protected: Usage Guide for Developers\" \/>\n<meta property=\"og:description\" content=\"Master C++ protected keyword syntax, access rules, and inheritance best practices with practical code examples.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.silicloud.com\/blog\/how-to-use-protected-in-c\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog - Silicon Cloud\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/SiliCloudGlobal\/\" \/>\n<meta property=\"article:published_time\" content=\"2024-03-14T11:37:23+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-08-03T19:41:52+00:00\" \/>\n<meta name=\"author\" content=\"Olivia Parker\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@SiliCloudGlobal\" \/>\n<meta name=\"twitter:site\" content=\"@SiliCloudGlobal\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Olivia Parker\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-use-protected-in-c\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-use-protected-in-c\/\"},\"author\":{\"name\":\"Olivia Parker\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/3ff7b3da0e45ac5dbbef2502f3cea8d9\"},\"headline\":\"C++ Protected: Usage Guide for Developers\",\"datePublished\":\"2024-03-14T11:37:23+00:00\",\"dateModified\":\"2025-08-03T19:41:52+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-use-protected-in-c\/\"},\"wordCount\":139,\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"keywords\":[\"access modifiers\",\"c#\",\"inheritance\",\"OOP\",\"protected keyword\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-use-protected-in-c\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/how-to-use-protected-in-c\/\",\"name\":\"C++ Protected: Usage Guide for Developers - Blog - Silicon Cloud\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\"},\"datePublished\":\"2024-03-14T11:37:23+00:00\",\"dateModified\":\"2025-08-03T19:41:52+00:00\",\"description\":\"Master C++ protected keyword syntax, access rules, and inheritance best practices with practical code examples.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-use-protected-in-c\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.silicloud.com\/blog\/how-to-use-protected-in-c\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-use-protected-in-c\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.silicloud.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"C++ Protected: Usage Guide for Developers\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\",\"url\":\"https:\/\/www.silicloud.com\/blog\/\",\"name\":\"Silicon Cloud Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\",\"name\":\"Silicon Cloud Blog\",\"url\":\"https:\/\/www.silicloud.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png\",\"contentUrl\":\"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png\",\"width\":1024,\"height\":1024,\"caption\":\"Silicon Cloud Blog\"},\"image\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/SiliCloudGlobal\/\",\"https:\/\/twitter.com\/SiliCloudGlobal\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/3ff7b3da0e45ac5dbbef2502f3cea8d9\",\"name\":\"Olivia Parker\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/56c66f189ba32a6f9eb50f31a38fe774e2a725c213d4070835ccc51b8fbbc54b?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/56c66f189ba32a6f9eb50f31a38fe774e2a725c213d4070835ccc51b8fbbc54b?s=96&d=mm&r=g\",\"caption\":\"Olivia Parker\"},\"url\":\"https:\/\/www.silicloud.com\/blog\/author\/oliviaparker\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"C++ Protected: Usage Guide for Developers - Blog - Silicon Cloud","description":"Master C++ protected keyword syntax, access rules, and inheritance best practices with practical code examples.","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:\/\/www.silicloud.com\/blog\/how-to-use-protected-in-c\/","og_locale":"en_US","og_type":"article","og_title":"C++ Protected: Usage Guide for Developers","og_description":"Master C++ protected keyword syntax, access rules, and inheritance best practices with practical code examples.","og_url":"https:\/\/www.silicloud.com\/blog\/how-to-use-protected-in-c\/","og_site_name":"Blog - Silicon Cloud","article_publisher":"https:\/\/www.facebook.com\/SiliCloudGlobal\/","article_published_time":"2024-03-14T11:37:23+00:00","article_modified_time":"2025-08-03T19:41:52+00:00","author":"Olivia Parker","twitter_card":"summary_large_image","twitter_creator":"@SiliCloudGlobal","twitter_site":"@SiliCloudGlobal","twitter_misc":{"Written by":"Olivia Parker","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.silicloud.com\/blog\/how-to-use-protected-in-c\/#article","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/how-to-use-protected-in-c\/"},"author":{"name":"Olivia Parker","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/3ff7b3da0e45ac5dbbef2502f3cea8d9"},"headline":"C++ Protected: Usage Guide for Developers","datePublished":"2024-03-14T11:37:23+00:00","dateModified":"2025-08-03T19:41:52+00:00","mainEntityOfPage":{"@id":"https:\/\/www.silicloud.com\/blog\/how-to-use-protected-in-c\/"},"wordCount":139,"publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"keywords":["access modifiers","c#","inheritance","OOP","protected keyword"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.silicloud.com\/blog\/how-to-use-protected-in-c\/","url":"https:\/\/www.silicloud.com\/blog\/how-to-use-protected-in-c\/","name":"C++ Protected: Usage Guide for Developers - Blog - Silicon Cloud","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/#website"},"datePublished":"2024-03-14T11:37:23+00:00","dateModified":"2025-08-03T19:41:52+00:00","description":"Master C++ protected keyword syntax, access rules, and inheritance best practices with practical code examples.","breadcrumb":{"@id":"https:\/\/www.silicloud.com\/blog\/how-to-use-protected-in-c\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.silicloud.com\/blog\/how-to-use-protected-in-c\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.silicloud.com\/blog\/how-to-use-protected-in-c\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.silicloud.com\/blog\/"},{"@type":"ListItem","position":2,"name":"C++ Protected: Usage Guide for Developers"}]},{"@type":"WebSite","@id":"https:\/\/www.silicloud.com\/blog\/#website","url":"https:\/\/www.silicloud.com\/blog\/","name":"Silicon Cloud Blog","description":"","publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.silicloud.com\/blog\/#organization","name":"Silicon Cloud Blog","url":"https:\/\/www.silicloud.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png","contentUrl":"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png","width":1024,"height":1024,"caption":"Silicon Cloud Blog"},"image":{"@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/SiliCloudGlobal\/","https:\/\/twitter.com\/SiliCloudGlobal"]},{"@type":"Person","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/3ff7b3da0e45ac5dbbef2502f3cea8d9","name":"Olivia Parker","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/56c66f189ba32a6f9eb50f31a38fe774e2a725c213d4070835ccc51b8fbbc54b?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/56c66f189ba32a6f9eb50f31a38fe774e2a725c213d4070835ccc51b8fbbc54b?s=96&d=mm&r=g","caption":"Olivia Parker"},"url":"https:\/\/www.silicloud.com\/blog\/author\/oliviaparker\/"}]}},"_links":{"self":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/10139","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/users\/11"}],"replies":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/comments?post=10139"}],"version-history":[{"count":2,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/10139\/revisions"}],"predecessor-version":[{"id":153882,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/10139\/revisions\/153882"}],"wp:attachment":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/media?parent=10139"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/categories?post=10139"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/tags?post=10139"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}