友元
2016-01-19 11:19
501 查看
// youyuan.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
using namespace std;
#include<iostream>
class CPoint
{
private:
unsigned m_x, m_y;
public:
CPoint(unsigned x, unsigned y)
{
m_x = x;
m_y = y;
}
void print()
{
cout << "Point(" << m_x << "," << m_y << ")" << endl;
}
friend CPoint inflate(CPoint& ppt, int set);//这里设置的参数符号可以和下面友元函数的说明时不一样。
};
CPoint inflate(CPoint & ppt, int nOffset)//这里的参数可以和上面的不一样的,但是不能和下面的不一样。
{
CPoint ptTemp = ppt;
ptTemp.m_x += nOffset;
ptTemp.m_y += nOffset;
return ptTemp;
}
void main()
{
CPoint t(10, 20);//运用构造函数创建t这个对象,并使t带有参数值。
t.print();//利用这个参数值带入到print中进行输出。
t = inflate(t, 3);//利用友元函数对其经行重构,这时候t这个对象的参数值已经改变了。
t.print();
}
//
#include "stdafx.h"
using namespace std;
#include<iostream>
class CPoint
{
private:
unsigned m_x, m_y;
public:
CPoint(unsigned x, unsigned y)
{
m_x = x;
m_y = y;
}
void print()
{
cout << "Point(" << m_x << "," << m_y << ")" << endl;
}
friend CPoint inflate(CPoint& ppt, int set);//这里设置的参数符号可以和下面友元函数的说明时不一样。
};
CPoint inflate(CPoint & ppt, int nOffset)//这里的参数可以和上面的不一样的,但是不能和下面的不一样。
{
CPoint ptTemp = ppt;
ptTemp.m_x += nOffset;
ptTemp.m_y += nOffset;
return ptTemp;
}
void main()
{
CPoint t(10, 20);//运用构造函数创建t这个对象,并使t带有参数值。
t.print();//利用这个参数值带入到print中进行输出。
t = inflate(t, 3);//利用友元函数对其经行重构,这时候t这个对象的参数值已经改变了。
t.print();
}
相关文章推荐
- 跟我学习dubbo-ActiveMQ的安装-单节点与使用(9)
- xilinx ODDR2的使用
- android wifi讲解 wifi列表显示
- 使用jenkins进行Android的持续集成
- python文件操作
- grep -A -B选项详解和mysqlbinlog
- 整理socket编程<二>:boost::asio实现异步服务器
- 队列
- JAVA设计模式之:命令模式
- 3.5生产者与消费者
- signal hubs 404问题解决方案
- 吐血推荐珍藏的 Chrome 插件
- PYTHON-基础-时间日期处理小结
- POJ_1753
- linux下多线程多串口数据转发程序
- Javascript 严格模式详解 "use strict"
- 【考研备考】中山大学考研备考手册
- 更新MBProgressHUD后的基本使用方法
- NSNotificationCenter 的简单使用
- Android Studio 很卡怎么解决