0% found this document useful (0 votes)
139 views6 pages

C++ Access Specifiers

Uploaded by

Hayashi Lix
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
139 views6 pages

C++ Access Specifiers

Uploaded by

Hayashi Lix
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 6

9/1/2021 C++ Access Specifiers

 Menu  Log in

  HTML CSS   

C++ Access Specifiers


❮ Previous Next ❯

Access Specifiers
By now, you are quite familiar with the public keyword that appears in all of our
class examples:

Example

class MyClass {  // The class

  public:        // Access specifier

    // class members goes here

};

Try it Yourself »

The public keyword is an access specifier. Access specifiers define how the
members (attributes and methods) of a class can be accessed. In the example above,
the members are public - which means that they can be accessed and modified
from outside the code.

However, what if we want members to be private and hidden from the outside world?

In C++, there are three access specifiers:

public - members are accessible from outside the class


private - members cannot be accessed (or viewed) from outside the class
protected - members cannot be accessed from outside the class, however,
they can be accessed in inherited classes. You will learn more about Inheritance
later.

https://www.w3schools.com/cpp/cpp_access_specifiers.asp 1/6
9/1/2021 C++ Access Specifiers

In the following example, we demonstrate the differences between public and


private members:

Example
class MyClass {

  public:    // Public access specifier

    int x;   // Public attribute

 
private:   // Private access specifier

    int y;   // Private attribute

};

int main() {

  MyClass myObj;

  myObj.x = 25;  // Allowed (public)

  myObj.y = 50;  // Not allowed (private)

  return 0;

If you try to access a private member, an error occurs:

error: y is private

Try it Yourself »

Note: It is possible to access private members of a class using a public method inside
the same class. See the next chapter (Encapsulation) on how to do this.

Tip: It is considered good practice to declare your class attributes as private (as often
as you can). This will reduce the possibility of yourself (or others) to mess up the
code. This is also the main ingredient of the Encapsulation concept, which you will
learn more about in the next chapter.

Note: By default, all members of a class are private if you don't specify an access
specifier:

Example

https://www.w3schools.com/cpp/cpp_access_specifiers.asp 2/6
9/1/2021 C++ Access Specifiers

class MyClass {

  int x;   // Private attribute

  int y;   // Private attribute

};

❮ Previous Next ❯

NEW

We just launched

W3Schools videos

Explore now

COLOR PICKER

LIKE US



Get certified

by completing

a course today!

https://www.w3schools.com/cpp/cpp_access_specifiers.asp 3/6
9/1/2021 C++ Access Specifiers

school
w3 s

1
CE

02
TI 2

R
FI .
ED

Get started

CODE GAME

Play Game

Report Error

Forum

About

Shop

Top Tutorials
HTML Tutorial

CSS Tutorial

https://www.w3schools.com/cpp/cpp_access_specifiers.asp 4/6
9/1/2021 C++ Access Specifiers

JavaScript Tutorial

How To Tutorial

SQL Tutorial

Python Tutorial

W3.CSS Tutorial

Bootstrap Tutorial

PHP Tutorial

Java Tutorial

C++ Tutorial

jQuery Tutorial

Top References
HTML Reference

CSS Reference

JavaScript Reference

SQL Reference

Python Reference

W3.CSS Reference

Bootstrap Reference

PHP Reference

HTML Colors
Java Reference

Angular Reference

jQuery Reference

Top Examples
HTML Examples

CSS Examples

JavaScript Examples

How To Examples

SQL Examples

Python Examples

W3.CSS Examples

Bootstrap Examples

PHP Examples

Java Examples

XML Examples

jQuery Examples

Web Courses
HTML Course

CSS Course

JavaScript Course

Front End Course

SQL Course

Python Course

PHP Course

jQuery Course

Java Course

C++ Course

C# Course

XML Course

Get Certified »

https://www.w3schools.com/cpp/cpp_access_specifiers.asp 5/6
9/1/2021 C++ Access Specifiers

W3Schools is optimized for learning and training. Examples might be simplified to improve reading and
learning.
Tutorials, references, and examples are constantly reviewed to avoid errors, but we cannot
warrant full correctness of all content.
While using W3Schools, you agree to have read and accepted our
terms of use, cookie and privacy policy.

Copyright 1999-2021 by Refsnes Data. All Rights Reserved.

W3Schools is Powered by W3.CSS.

https://www.w3schools.com/cpp/cpp_access_specifiers.asp 6/6

You might also like