Функция друга C ++ не может получить доступ к закрытым членам

Предполагается, что это строковый класс с набором операторов и функций, включая две функции-друга. И эти два вызывают у меня некоторые проблемы, потому что компилятор говорит, что они не могут получить доступ к закрытым членам. Вот мой string.h:

#include 
#ifndef STR_H
#define STR_H

namespace MyStr
{
class Str
{
private:
    unsigned int length;
    char *data;
public:
    Str();
    Str(const Str&);
    Str(const char*);
    Str(char c, unsigned int db);
    ~Str();
    char* cStr() const;
    unsigned int getLength() const;

много несоответствующих функций здесь ...

    friend int operator/ (const Str&, char);
    friend std::ostream& operator< (std::ostream&, const Str&);
};
}
#endif /* STR_H */

Ответы на вопрос(2)

Ваш ответ на вопрос