java 友元_C++ 友元函数 | 菜鸟教程

对教程中的例子,稍加修改,添加了友元类的使用。

#include

using namespace std;

class Box

{

double width;

public:

friend void printWidth(Box box);

friend class BigBox;

void setWidth(double wid);

};

class BigBox

{

public :

void Print(int width, Box &box)

{

// BigBox是Box的友元类,它可以直接访问Box类的任何成员

box.setWidth(width);

cout << "Width of box : " << box.width << endl;

}

};

// 成员函数定义

void Box::setWidth(double wid)

{

width = wid;

}

// 请注意:printWidth() 不是任何类的成员函数

void printWidth(Box box)

{

/* 因为 printWidth() 是 Box 的友元,它可以直接访问该类的任何成员 */

cout << "Width of box : " << box.width << endl;

}

// 程序的主函数

int main()

{

Box box;

BigBox big;

// 使用成员函数设置宽度

box.setWidth(10.0);

// 使用友元函数输出宽度

printWidth(box);

// 使用友元类中的方法设置宽度

big.Print(20, box);

getchar();

return 0;

}

Mr.Right

Mr.Right

826***410@qq.com2年前 (2019-03-08)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/275763.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

刚学编程的程序员必备这5大编程网站,你知道几个?

一个好的网站&#xff0c;就是程序员学编程的基地。 虽说新手程序员也许知道一些在线编程网站&#xff0c;但是质量上乘的编程网站又知道几个呢? 下面就来给大家推荐5个质量上乘的编程网站&#xff1a; 0、Leetcode LeetCode是大名鼎鼎的在线刷题网站&#xff0c;通过该网站的…

【赠书福利】不扶好眼镜,请别打开这本挑战JS语言特性的书

文末赠福利大家好&#xff0c;我是若川。为感谢大家一直以来的支持和肯定&#xff0c;文末抽《JavaScript悟道》3本包邮送和若干红包&#xff0c;详细规则请看文末哦。"人们不停地给老化的语言“整容”&#xff0c;拼命地往其中注入各种新的特性来稳住其流行地位&#xff…

MySQL存储过程之事务管理

MySQL存储过程之事务管理 ACID:Atomic、Consistent、Isolated、Durable 存储程序提供了一个绝佳的机制来定义、封装和管理事务。 1&#xff0c;MySQL的事务支持 MySQL的事务支持不是绑定在MySQL服务器本身&#xff0c;而是与存储引擎相关&#xff1a; Java代码 MyISAM&#xff…

罗马数字 java_【leetcode刷题】[简单]13.罗马数字转整数(roman to integer)-java

罗马数字转整数 roman to integer题目罗马数字包含以下七种字符: I&#xff0c; V&#xff0c; X&#xff0c; L&#xff0c;C&#xff0c;D 和 M。字符 数值I 1V 5X 10L 50C 100D 500M 1000例如&#xff0c; 罗马数字 2 写做 II &#xff0c;即为两个并列的 1。12 写做 XII &a…

我在工作中是如何使用Git的

大家好&#xff0c;我是若川。今天分享一篇关于git的好文章。我自己经常用命令行终端和git缩写。具体可以看我以往的文章。使用 ohmyzsh 打造 windows、ubuntu、mac 系统高效终端命令行工具&#xff0c;用过都说好。点击下方卡片关注我、加个星标学习源码整体架构系列、年度总结…

克服浮躁_设计思维:您克服并赢得低迷的最终工具。

克服浮躁设计思维101 (Design thinking 101) Let’s begin by getting ourselves clear on the question: What is design thinking?让我们首先弄清楚问题&#xff1a;设计思想是什么&#xff1f; Many people have an impression that design thinking has something to do …

mongodb数组字段prefix匹配返回

DOC: https://docs.mongodb.com/manu... collection&#xff08;test&#xff09;结构 {_id: Objectd("123456789"),category: [apple_1,apple_2,banana_1,banana_2] }Question: 对test表的所有数据做category过滤&#xff0c;返回category中以apple开头的元素 表原数…

java参数化查询_小博老师解析Java核心技术 ——JDBC参数化查询(二)

[步骤阅读四]SQL注入按照以上方式开发&#xff0c;确实已经完成了基本的用户登录业务需求&#xff0c;但是这么做的话可以会出现一个比较严重的问题&#xff0c;那就是容易被SQL注入。所谓SQL注入&#xff0c;就是在需要用户填写信息&#xff0c;并且这些信息会生成数据库查询字…

Lightbox 效果

网上其实到处都是。 遮罩层&#xff1a; .transparent {filter:alpha(opacity0); -moz-opacity: 0.0; opacity: 0.0; z-index: 90;background-color:#000;float:left;top:0;left:0;position:absolute;width:100%; }主要业务层&#xff1a;.rollover5 {display:none; position:a…

前端抢饭碗系列之Vue项目如何做单元测试

大家好&#xff0c;我是若川。今天分享一篇vue项目如何做单元测试的好文&#xff0c;文章比较长&#xff0c;建议先收藏&#xff0c;需要时用电脑看。点击下方卡片关注我、加个星标学习源码系列、年度总结、JS基础系列关于单元测试&#xff0c;最常见的问题应该就是“前端单元测…

React Native组件开发指南

React Native的组件开发一直处在一个比较尴尬的处境。在官方未给予相关示例与脚手架的情况下&#xff0c;社区中依然诞生了许许多多的React Native组件。因为缺少示例与规范&#xff0c;很多组件库仅含有一个index.js文件。这种基础的目录结构也导致了一些显而易见的问题&#…

java activiti jbpm_activiti和jbpm工作流引擎哪个比较好?

原标题&#xff1a;activiti和jbpm工作流引擎哪个比较好&#xff1f;在常用的ERP系统、OA系统的开发中&#xff0c;工作流引擎是一个必不可少的工具。之前在选择工作流引擎时曾经在activiti和jbpm之间有过比较&#xff0c;当时做出的决定是使用jbpm&#xff0c;但实际开发过程中…

C/C++中善用大括号

C/C中善用大括号转载于:https://www.cnblogs.com/satng/archive/2010/12/17/2138840.html

识别人声_演唱人声的5个技巧

识别人声什么是声乐伴奏&#xff1f; (What is Vocal Comping?) Vocal comping describes the process of combining multiple vocal takes into one “supertake” that has the best parts of each. This is called a “composite track,” or comp for short. Many instrum…

你知道source map如何帮你定位源码么?

大家好&#xff0c;我是若川。今天分享一篇我们经常会忽略的定位原始代码位置原理的文章。文章不长&#xff0c;例子不错&#xff0c;可以先收藏&#xff0c;有空时动手试试。学习源码系列、年度总结、JS基础系列前言我们知道&#xff0c;代码上线前要经过压缩&#xff0c;美化…

OOP 中的 方法调用、接口、鸭式辩型、访问者模式

2019独角兽企业重金招聘Python工程师标准>>> 方法调用的四种方式 直接调用&#xff1a;通过类或者实例直接调用其方法。接口调用或者转型调用&#xff1a;通过将实例回调给一个接口对象&#xff0c;或者转型为一个父类的实例&#xff0c;来调用间接调用&#xff1a;…

Substitution控件MethodName无法取到Session的解决办法

Substitution是对缓存页面实现动态显示部分内容的控件&#xff0c;使用方法&#xff1a;在后台页面添加静态方法&#xff0c;private static string MethodName(HttpContext context),经典的用法是动态显示的是当前的登录用户名字&#xff08;非登录用户显示其他的&#xff09;…

java中想要保留2位小数_java使double保留两位小数的多方法 java保留两位小数

mport java.text.DecimalFormat;DecimalFormat df new DecimalFormat("######0.00");double d1 3.23456double d2 0.0;double d3 2.0;df.format(d1);df.format(d2);df.format(d3);3个结果分别为:3.230.002.00java保留两位小数问题&#xff1a;方式一&#x…

游戏 新手引导 设计_我认为每个新手设计师都应该知道什么

游戏 新手引导 设计重点 (Top highlight)I should probably have titled this article “What I wish I knew as a newbie designer.” Anyway, I’ve been doing this graphic design thing for a little over a year now, and I know now, a few things that could have made…

毕业年限不长的前端焦虑和突破方法

大家好&#xff0c;我是若川。今天周六&#xff0c;分享一篇相对轻松的文章。经作者耳东蜗牛 授权转载链接&#xff1a;https://juejin.cn/post/6968002742321152014也可点击文末阅读原文直达本篇文章来源于&#xff1a;周五和团队成员[20年毕业]的一次闲聊。毕业不到一年&…