Go back to Richel Bilderbeek's homepage.

Go back to Richel Bilderbeek's C++ page.

 

 

 

 

 

(C++) ProtectedExample1

 

Technical facts

 

Operating system(s) or programming environment(s)

IDE(s):

Project type:

C++ standard:

Compiler(s):

Libraries used:

 

 

 

 

 

Qt project file: ./CppProtectedExample1/CppProtectedExample1.pro

 

TEMPLATE = app
CONFIG += console
CONFIG -= app_bundle
CONFIG -= qt
QMAKE_CXXFLAGS += -std=c++11 -Wall -Wextra -Weffc++ -Werror
SOURCES += main.cpp

 

 

 

 

 

./CppProtectedExample1/main.cpp

 

struct Base
{
  Base(const int x = 0) : m_x(x) {}
  virtual ~Base() {}

  protected:
  int m_x;
};

struct Derived : public Base
{
  void SetX(const int x) { m_x = x; } //For a derived class, m_x is public
};

int main()
{
  Base b;
  //b.m_x = 0; //Not allowed! Only derived classes have access to Base::m_x

  Derived d;
  d.SetX(42);
}

 

 

 

 

 

Go back to Richel Bilderbeek's C++ page.

Go back to Richel Bilderbeek's homepage.

 

Valid XHTML 1.0 Strict

This page has been created by the tool CodeToHtml