C++ Logo


Advanced search

How to Restrict Class Methods to specific other classes without invoking friend

From: Joshua Brown <joshbro42867_at_[hidden]>
Date: Tue, 23 Feb 2021 06:34:13 +0000 (UTC)
I have a lot of trouble finding anything on stack overflow or elsewhere on this topic. I have been attempting to better encapsulate some of my classes and the scopes in which they can be used. I am trying to find out if there exists a way to limit access of certain methods of a class to another class without using private access modifier with the friend keyword. Adding a class as a friend is overkill and does not really help with improving the encapsulation.

One of the use cases I am running into is allowing a constructor to only be called by a few specific classes. Imposing this limitation is beneficial when the classes are large and I do not want to allow arbitrary creation of them.
If there is not an easy way to do this, I'm trying to find out if it would be worth starting down the road of making a proposal.
Joshua Brown

Received on 2021-02-23 00:34:16