C++ 中的友元friend
来源:互联网 发布:java高并发orm 编辑:程序博客网 时间:2024/05/22 14:09
#include <iostream>
#include <string>
class Lovers
{
public:
Lovers(std::string theName);
void kiss(Lovers *lovers);
void ask(Lovers *lovers, std::string something);
protected:
std::string name;//注意不能访问的
friend class Others;
};
class Boyfriend : public Lovers
{
public:
Boyfriend(std::string theName);
};
class Girlfriend : public Lovers
{
public:
Girlfriend(std::string theName);
};
class Others
{
public:
Others(std::string theName);
void kiss(Lovers *lover);
protected:
std::string name;
};
Lovers::Lovers(std::string theName)
{
name = theName;
}
void Lovers::kiss(Lovers *lover)
{
std::cout<<name<<"亲亲我们家的"<<lover->name<< "\n";
}
void Lovers::ask(Lovers *lover, std::string something)
{
std::cout<<"宝贝儿"<<lover->name<<"帮我"<<something<<"\n";
}
Boyfriend::Boyfriend(std::string theName):Lovers(theName)
{
}
Girlfriend::Girlfriend(std::string theName):Lovers(theName)
{
}
Others::Others(std::string theName)
{
name = theName;
}
void Others::kiss(Lovers *lover)
{
std::cout<<name<<"亲一下"<<lover->name<<"\n";//如果没有 friend class Others;是不能访问的
}
int main()
{
Boyfriend boyfriend("A君");
Girlfriend girlfriend("B妞");
Others other("路人甲");
girlfriend.kiss(&boyfriend);
girlfriend.ask(&boyfriend,"洗衣服啦!");
std::cout << "\n\n传说中的路人甲等场......\n";
other.kiss(&girlfriend);
return 0;
}
#include <string>
class Lovers
{
public:
Lovers(std::string theName);
void kiss(Lovers *lovers);
void ask(Lovers *lovers, std::string something);
protected:
std::string name;//注意不能访问的
friend class Others;
};
class Boyfriend : public Lovers
{
public:
Boyfriend(std::string theName);
};
class Girlfriend : public Lovers
{
public:
Girlfriend(std::string theName);
};
class Others
{
public:
Others(std::string theName);
void kiss(Lovers *lover);
protected:
std::string name;
};
Lovers::Lovers(std::string theName)
{
name = theName;
}
void Lovers::kiss(Lovers *lover)
{
std::cout<<name<<"亲亲我们家的"<<lover->name<< "\n";
}
void Lovers::ask(Lovers *lover, std::string something)
{
std::cout<<"宝贝儿"<<lover->name<<"帮我"<<something<<"\n";
}
Boyfriend::Boyfriend(std::string theName):Lovers(theName)
{
}
Girlfriend::Girlfriend(std::string theName):Lovers(theName)
{
}
Others::Others(std::string theName)
{
name = theName;
}
void Others::kiss(Lovers *lover)
{
std::cout<<name<<"亲一下"<<lover->name<<"\n";//如果没有 friend class Others;是不能访问的
}
int main()
{
Boyfriend boyfriend("A君");
Girlfriend girlfriend("B妞");
Others other("路人甲");
girlfriend.kiss(&boyfriend);
girlfriend.ask(&boyfriend,"洗衣服啦!");
std::cout << "\n\n传说中的路人甲等场......\n";
other.kiss(&girlfriend);
return 0;
}
0 0
- C++中的(friend)友元
- C++ 中的友元friend
- C++中的友元 friend
- c++中的friend友元
- C++:友元函数friend
- C++-友元(friend)
- C++ 中的友元(friend)
- [C++]friend友元类-友元函数
- 友元friend和继承(C++)
- C++ 友元(friend)
- C++ 友元(friend)
- C++ 友元(friend)
- C++友元friend
- C++ 友元(friend)
- C++ 友元(friend)
- friend 友元函数
- 友元friend总结
- 友元(friend)
- Android Volley完全解析(一),初识Volley的基本用法
- redis设计与实现电子书合集
- glog的编译和使用(转+总结)
- 解析XML
- 结合Cloudfoundry v2详解warden的源码分析与使用(一)
- C++ 中的友元friend
- 几种常见的线性表存储结构
- Openlayers3 计算地图上任意两点间的距离
- 计算机视觉-sift(1)原理
- 面向模式的软件体系结构电子书合集
- 【Unity3d】资源依赖反查工具
- #if _MSC_VER > 1000 #pragma once #endif 作用解释
- 黑马程序员_java 数组
- 关于重写toString方法