• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 123
  • Last Modified:

26. What operations can not be overloaded? How do you think, why?

What operations can not be overloaded? How do you think, why?
0
Nusrat Nuriyev
Asked:
Nusrat Nuriyev
  • 2
  • 2
2 Solutions
 
jkrCommented:
The operators that cannot be overloaded are



.
 Member selection
 
.*
 Pointer-to-member selection
 
::
 Scope resolution
 
? :
 Conditional
 
#
 Preprocessor convert to string
 
##
 Preprocessor concatenate

Source: https://msdn.microsoft.com/en-us/library/5tk49fh2.aspx 

Sorry about the copy&paste, they were just to many to write down ;o)
0
 
jkrCommented:
Ooops, forgot the "Why?" part - Bjarne answers that here: http://www.stroustrup.com/bs_faq2.html#overload-dot
And I won't copy that here, since I had to look that up myself ;o)
0
 
Nusrat NuriyevAuthor Commented:
Okay :)
0
 
Nusrat NuriyevAuthor Commented:
	class Y {
	public:
		void f();
		// ...
	};

	class X {	// assume that you can overload .
		Y* p;
		Y& operator.() { return *p; }
		void f();
		// ...
	};

	void g(X& x)
	{
		x.f();	// X::f or Y::f or error?
	}

Open in new window


I don't get this example, could you help?
0

Featured Post

Concerto Cloud for Software Providers & ISVs

Can Concerto Cloud Services help you focus on evolving your application offerings, while delivering the best cloud experience to your customers? From DevOps to revenue models and customer support, the answer is yes!

Learn how Concerto can help you.

  • 2
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now