C++ 友元成员函数
在将尝试学习C++友元成员函数时,出错。始终调试不出来,还请帮忙看看。谢谢先~~~
源码如下:
Student.h
#ifndef STUDENT_H_#define STUDENT_H_#include <string>#include <iostream>using namespace std;class Student { //friend class Teacher;// 此处若使用友元类,程序编译通过 friend void Teacher::print_student_info();public: Student(); virtual ~Student();private: string username; void self_info();};#endif /* STUDENT_H_ */#include "Student.h"Student::Student() : username("Student_A") { // TODO Auto-generated constructor stub}Student::~Student() { // TODO Auto-generated destructor stub}void Student::self_info() { cout << "My Username is " << username << endl;}#ifndef TEACHER_H_#define TEACHER_H_#include "Student.h"class Teacher {public: Teacher(); virtual ~Teacher(); void print_student_info();private: Student student;};#endif /* TEACHER_H_ */#include "Teacher.h"Teacher::Teacher() : student(Student()) { // TODO Auto-generated constructor stub}Teacher::~Teacher() { // TODO Auto-generated destructor stub}void Teacher::print_student_info() { cout << "The only student name = " << student.username << endl;}#include <iostream>using namespace std;#include "Teacher.h"int main() { cout << "!!!Hello World!!!" << endl; // prints !!!Hello World!!! Teacher t; t.print_student_info(); return 0;}