സി++'ൽ അടിസ്ഥാന ഗണിതക്രിയകളെ സൂചിപ്പിയ്ക്കുന്ന ഓപ്പറേറ്ററുകളായ codice_36എന്നിവ ഓവർലോഡ് ചെയ്തു വേറെ തരത്തിൽ എഴുതിയെടുക്കാൻ സാധിയ്ക്കുന്നതാണ്.

എന്നാൽ ഇങ്ങനെ ചെയ്യുമ്പോൾ ഒരു ഓപ്പറേറ്ററിന്റെ അടിസ്ഥാന അർത്ഥം മാറിപ്പോകാത്ത വിധത്തിൽ എഴുതണം എന്നാണ് കീഴ്വഴക്കം. പക്ഷെ ഈ കീഴ്വഴക്കം തെറ്റിച്ചു കോഡ് എഴുതിയാലും പ്രത്യേകിച്ച് കുഴപ്പം ഒന്നും സംഭവിയ്ക്കില്ല. കംപൈലർ അത് സാധാരണ പോലെ കമ്പൈൽ ചെയ്യുകയും ഉദ്ദേശിച്ച പോലെ അത് ഓടുകയും ചെയ്യും. ഉദാഹരണത്തിന് താഴെ കൊടുത്തിരിയ്ക്കുന്ന codice_37 എന്ന ക്ലാസ്സിലെ codice_38 എന്ന ഓപ്പറേറ്റർ വിളിച്ചാൽ ഒരു ഗുണിതം കിട്ടിയിരിയ്ക്കണം എന്നതാണ് കീഴ്വഴക്കം. എന്നാൽ കോഡ് എഴുതിയിരിയ്ക്കുന്നത് സങ്കലനം ചെയ്യാനും!
മുകളിൽ കൊടുത്തിരിയ്ക്കുന്ന ഉദാഹരണത്തിൽ ഒരു codice_6'നുള്ളിൽ ഒരു മെത്തേഡ് വിളംബരം ചെയ്തിരിയ്ക്കുന്നു. ഇത് നേരത്തെ കണ്ട ഉദാഹരണത്തിലെ, ക്ലാസ്സിനുള്ളിൽ മെത്തേഡ് വിളംബരം ചെയ്തു പുറത്തു വിവരിയ്ക്കുന്ന രീതിയ്ക്ക് സമാനമാണ്. ഇവിടെ ഓപ്പറേറ്ററിന്റെ വിവരണത്തിൽ codice_40 എന്ന സൂചകപദം രണ്ടു പ്രാവശ്യം കൊടുത്തിരിയ്ക്കുന്നത് ശ്രദ്ധിയ്ക്കുക. ആദ്യത്തേത് മെത്തേഡിലേയ്ക്ക് പാസ് ചെയ്യപ്പെടുന്ന ആർഗ്യുമെന്റിന്റെ ടൈപ്പ് സൂചിപ്പിയ്ക്കാനാണ്. ഇത് codice_41എന്നതാണ്.ഇതിന്റ അർഥം ഈ ആർഗ്യുമെന്റ് ഡാറ്റാ ചരത്തിന്റെ വില മെത്തേഡിന്റെ ഉള്ളിൽ വെച്ച് ഒരിയ്ക്കലും മാറില്ല എന്നാണ്. രണ്ടാമത്തത് മെത്തേഡിന്റെ അവസാനം കൊടുത്തിരിയ്ക്കുന്ന ആണ്. ഇത് സൂചിപ്പിയ്ക്കുന്നത് ഈ മെത്തേഡ് ഒരിയ്ക്കലും ആ ഒബ്ജെക്ടിലെ ഡാറ്റാ ചരങ്ങളുടെ വില മാറ്റില്ല എന്നാണ്. ഈ രണ്ടു സൂചകങ്ങളും കംപൈലറിനോടും ഉപഭോക്താക്കളോടും ഉള്ള ഒരു ഉറപ്പാണ്.

codice_41എന്ന ടൈപ്പ് വിവരണത്തിലെ codice_43 എന്ന ചിഹ്നം സൂചിപ്പിയ്ക്കുന്നത് k എന്ന ഡാറ്റാ ചരം "pass by reference" എന്ന രീതി വഴിയാണ് മെത്തേഡിലേയ്ക്ക് വില പാസ് ചെയ്യുന്നത് എന്നാണ്. അതായത് codice_44 എന്ന ഡാറ്റാ ചരത്തിന്റെ വില വേണമെങ്കിൽ ഈ മെത്തേഡിനുള്ളിൽ നിന്നും മാറ്റാം. പക്ഷെ codice_40 എന്ന് സൂചിപ്പിച്ചിരിയ്ക്കുന്നതുകൊണ്ട് അങ്ങനെ ചെയ്യില്ല എന്നും ഉറപ്പുവരുത്തപ്പെടുന്നു.

അടിസ്ഥാന കോൺസ്ട്രക്ടർ (Default constructor)
ഓവർലോഡഡ് ഓപ്പറേറ്ററുകൾ
ഓവർലോഡ് ചെയ്യാൻ പറ്റുന്ന ഏകാങ്കക്രിയകൾ(Unary overloadable operators)
ഡിസ്ട്രക്ടർ (Destructors)