SHARE
Facebook X Pinterest WhatsApp

How inheritance, encapsulation and polymorphism work in C++

Written By
thumbnail
Web Webster
Web Webster
May 20, 2009

[ Thanks to Alexander
Sandler
for this link. ]

“How overloading works

“Another thing that we have to take care of in C++ is how to
distinguish between some_function() and
some_class::some_function(). Or between some_class::some_function(
int ) and some_class::some_function() I.e. what’s the difference
between two methods with the same name that receive different
number and type of arguments? What is the difference between method
and function that has same name?

“Obviously, out of linker, compiler and preprocessor, linker is
the one that should be aware of the above difference. This is
because we may have some_function() in some distant object file.
Linker is the component that should find this distant function and
interconnect the call to the function and the actual function.
Linker uses function name as a unique identifier of the
function.

“To make things work, g++ and any other modern compiler, mangles
the name of the method/function and makes sure that:

1. Mangled method name includes name of the class it belongs to
(if it belongs to any class).
2. Mangled method name includes number and type of arguments method
receives.
3. Mangled method name includes namespace it belongs to.”


Complete Story

thumbnail
Web Webster

Web Webster

Web Webster has more than 20 years of writing and editorial experience in the tech sector. He’s written and edited news, demand generation, user-focused, and thought leadership content for business software solutions, consumer tech, and Linux Today, he edits and writes for a portfolio of tech industry news and analysis websites including webopedia.com, and DatabaseJournal.com.

Recommended for you...

5 Best Free and Open Source Text Expander Tools
webmaster
Jun 13, 2025
Grafito: Systemd Journal Log Viewer with a Beautiful Web UI
Bobby Borisov
Jun 12, 2025
FreeBSD Wants to Know a Few Things
brideoflinux
May 11, 2025
NVK enabled for Maxwell, Pascal, and Volta GPUs
Kara Bembridge
May 1, 2025
Linux Today Logo

LinuxToday is a trusted, contributor-driven news resource supporting all types of Linux users. Our thriving international community engages with us through social media and frequent content contributions aimed at solving problems ranging from personal computing to enterprise-level IT operations. LinuxToday serves as a home for a community that struggles to find comparable information elsewhere on the web.

Property of TechnologyAdvice. © 2025 TechnologyAdvice. All Rights Reserved

Advertiser Disclosure: Some of the products that appear on this site are from companies from which TechnologyAdvice receives compensation. This compensation may impact how and where products appear on this site including, for example, the order in which they appear. TechnologyAdvice does not include all companies or all types of products available in the marketplace.