class Student{
public:
Student(int test)
:key(705)
{
if(test == key)
{cout << "A student is being verified with a correct key: "<< test << endl;
allow=1;
}
else
{
cout << "Wrong key" ;
}
}
friend void printResult();
private:
const int key;
int allow;
};
void printResult()
{
if(allow==1)
{
cout<< " Maths: 75 \n Science:80 \n English: 75" << endl;
}
}
int main()
{
int testkey;
cout << "Enter key for Bob: ";
cin >> testkey;
Student bob(testkey);
printResult();
}
Функция printResult не может получить доступ к переменной allow, которая является частной, из класса Student. Я использовал прототип printResult в неправильном месте или был синтаксис неправильным? AFAIK, мы можем прототипировать друзей в любом месте класса.Почему этот знакомый не может получить доступ к закрытым переменным?
Какая именно ошибка вы получаете? – ereOn