I am new to working with C++. I need to declare an instance of a class as the parameter of a function in another class, with the parameter instance declared as a friend. I illustrate with an example.
class foo(){
private:
void a(){
// function definition
}
}
class other_foo(){
public:
void b(foo f){
// function definition
}
}
In the above example I need to declare class other_foo as a friend for foo so that I can use foo class' private function "a". I have read on a number of other references but there is no definitive guide as to whether it is really possible or not. If not, could you please suggest a workaround? I tried to declare other_foo as friend in class foo definition but the compiler threw an error with other_foo that private methods are not accessible. I have also tried declaring the instance as "friend foo f" in the parameter itself but the compiler threw an error for that. Where do I actually need to declare that class other_foo is a friend class for class foo?
Now other_foo can access
foo
's private members. The parentheses in front of class' name were unnecessary, and added;
after class definition.