上の例では、関数showは、メンバ関数ではありません。 しかし、CatClassの中でfriend宣言をしているため プライベートメンバにアクセス可能です。#include <iostream.h> #include <string.h> class CatClass { int legs; char eye_color[32]; public: CatClass(); CatClass(char *str); friend void show(CatClass); }; CatClass::CatClass(void) { legs = 4; strcpy(eye_color, "gold"); } CatClass::CatClass(char *str) { strcpy(eye_color, str); legs = 4; } void show(CatClass a) { cout << "eye_color =" << a.eye_color << endl; cout << "legs = " << a.legs << endl; return; } int main(void) { CatClass Tama("blue"), Shiro; cout << "Tamaの記述" << endl; show(Tama); cout << "Shiroの記述" << endl; show(Shiro); return 0; }
Update Jan/24/1997 By Y.Kumei