你好,我正在学习c ++,我刚刚进入OOP编程。我创建了一个类和一个函数作为该类的朋友,并且我正在测试遇到的事情,我知道我可以使用朋友函数来使用类的变量和成员函数等将它们分配给一个对象。但是当我尝试初始化该类的变量时,该函数无法识别该变量并给出了错误。但是我听说一个朋友函数可以访问所有类成员,这是我的代码:
class Human
{
friend void display(Human, std::string);
int age;
std::string name;
std::string trial;
};
void display(Human h, std::string t) {
std::cout << "Enter your name please :";
std::cin >> h.name;
std::cout << "How Old Are You ?";
std::cin >> h.age;
std::cout << "your name is :" << h.name << std::endl;
std::cout << "you are " << h.age << "years old" << std::endl;
trial = t;
}
编译器无法识别出trial.so,如果我不能通过好友功能来做到这一点,那该怎么办呢?
答案 0 :(得分:2)
trail = t;
是问题所在。如果这样写,trial
将被视为未声明的变量。 h.trail
可能就是您想要的。编译器警告应该告诉您一些信息