Hello fellows,

I want to access protected member of inner class from within friend function of the outer class, without adding getter to inner class. Is that possible ? Any advice ?

Code:
#include <iostream>
#include <string>
#include <cmath>


class Polynomial {
protected:
	class Term {
		protected:
			int exponent;
			int coefficient;
			Term *next;
			Term(int exp, int coeff, Term *n)
			{
				exponent = exp;
				coefficient = coeff;
				next = n;
			}
			friend class Polynomial;

	};

 private:
	 Term * start;

 public:
	 Polynomial() { start = NULL; }

           // ...

          friend ostream & operator << (ostream &out, const Polynomial &p);
};

ostream & operator << (ostream &out, const Polynomial &p)
{
	Polynomial::Term *temp = p.start;

	while (temp != NULL)
	{
		if (temp->coefficient < 0)
			out << "- ";
		else
			out << "+ ";

		if (temp->coefficient != 1)
			out << abs(temp->coefficient);

		if (temp->exponent == 1)
			out << "x";
		else
			out << "x^" << temp->exponent;

		temp = temp->next;
	}

	return out;
}
Red parts are not recognised.

Thanks in advance.