以下是引用gwcome在2013-3-17 15:02:54的发言:
//自己写着玩的,是关于友元函数
#include<iostream>
class Lovers
{
    
public:
void kiss_action();
protected:
void kiss();
private:
    
};
class Girlfriend :public Lovers
{
friend class Others;
public:
void kiss_action();
protected:
void kiss();
    
private:
    
};
class Boyfriend :public Lovers
{
public:
void kiss_action();
protected:
void kiss();
private:
};
class Others
{
    
public:
void kiss_other();
protected:
    
private:
};
void Lovers::kiss()
{
std::cout<<"I want kiss";
}
void Lovers::kiss_action()
{
Lovers::kiss();
}
void Girlfriend::kiss()
{
Lovers::kiss_action();
std::cout<<"my girlfriend I am a normal boy";
}
void Girlfriend::kiss_action()
{
Girlfriend::kiss();
}
void Boyfriend::kiss()
{
Lovers::kiss_action();
std::cout<<"my boyfriend I am a gayboy";
}
void Boyfriend::kiss_action()
{
Boyfriend::kiss();
}
void Others::kiss_other()
{
Girlfriend::kiss();//“Girlfriend::kiss_action”: 非静态成员函数的非法调用
std::cout<<"I am a third..hehe";
}
int main()
{
Lovers lovers;//定义对象 ...TAT...
lovers.kiss_action();
Girlfriend girlfriend;
girlfriend.kiss_action();
Boyfriend boyfriend;
boyfriend.kiss_action();
Others others;
others.kiss_other();
return 0;
}
我定义了对象 还是有错
//自己写着玩的,是关于友元函数
#include<iostream>
class Lovers
{
public:
void kiss_action();
protected:
void kiss();
private:
};
class Girlfriend :public Lovers
{
friend class Others;
public:
void kiss_action();
protected:
void kiss();
private:
};
class Boyfriend :public Lovers
{
public:
void kiss_action();
protected:
void kiss();
private:
};
class Others
{
public:
void kiss_other();
protected:
private:
};
void Lovers::kiss()
{
std::cout<<"I want kiss";
}
void Lovers::kiss_action()
{
Lovers::kiss();
}
void Girlfriend::kiss()
{
Lovers::kiss_action();
std::cout<<"my girlfriend I am a normal boy";
}
void Girlfriend::kiss_action()
{
Girlfriend::kiss();
}
void Boyfriend::kiss()
{
Lovers::kiss_action();
std::cout<<"my boyfriend I am a gayboy";
}
void Boyfriend::kiss_action()
{
Boyfriend::kiss();
}
void Others::kiss_other()
{
Girlfriend::kiss();//“Girlfriend::kiss_action”: 非静态成员函数的非法调用
std::cout<<"I am a third..hehe";
}
int main()
{
Lovers lovers;//定义对象 ...TAT...
lovers.kiss_action();
Girlfriend girlfriend;
girlfriend.kiss_action();
Boyfriend boyfriend;
boyfriend.kiss_action();
Others others;
others.kiss_other();
return 0;
}
我定义了对象 还是有错
 程序代码:
程序代码:
#include "stdafx.h"
//自己写着玩的,是关于友元函数
#include<iostream>
class Lovers
{
public:
    void kiss_action();
protected:
    void kiss();
private:
};
class Girlfriend :public Lovers
{
    friend class Others;    
public:
    void kiss_action();
protected:
    void kiss();
private:
};
class Boyfriend :public Lovers
{
public:
    void kiss_action();
protected:
    void kiss();
private:
};
class Others
{
public:
    void kiss_other();
protected:
private:
};
void Lovers::kiss()
{
    std::cout<<"I want kiss";
}
void Lovers::kiss_action()
{
    Lovers::kiss();
}
void Girlfriend::kiss()
{
    Lovers::kiss_action();
    std::cout<<"my girlfriend  I am a normal boy";
}
void Girlfriend::kiss_action()
{
    Girlfriend::kiss();
}
void Boyfriend::kiss()
{
    Lovers::kiss_action();
    std::cout<<"my boyfriend  I am a gayboy";
}
void Boyfriend::kiss_action()
{
    Boyfriend::kiss();
}
void Others::kiss_other()
{
    Girlfriend girl;
    girl.kiss();
    std::cout<<"I am a third..hehe";
}
int main()
{
    Lovers lovers;//定义对象 ...TAT...
    lovers.kiss_action();
    Girlfriend girlfriend;
    girlfriend.kiss_action();
    Boyfriend boyfriend;
    boyfriend.kiss_action();
    Others others;
    others.kiss_other();
    return 0;
}
										
					
	
我总觉得授人以鱼不如授人以渔...
可是总有些SB叫嚣着:要么给代码给答案,要么滚蛋...
虽然我知道不要跟SB一般见识,但是我真的没修炼到宠辱不惊...



 
											







 
	    

 
	