ex020104.cpp

来自「深入浅出Visual C++入门进阶与应用实例 随书光盘 作者 何志丹」· C++ 代码 · 共 55 行

CPP
55
字号
// Ex020104.cpp : Defines the entry point for the application.
//

#include "stdafx.h"

class CObject ;//先声明一下

//CObjectEx的定义
class CObjectEx
{
	//...
private:
	ULONG m_iID ;//无符号长整型ID
public:
	CObjectEx(const CObject& obj);
	friend void ChangeObjToObjEx(CObjectEx& objEx,const CObject& obj) ;//定义成友元函数
};

//CObject类的定义
class CObject
{
public:
	CObject(short iID){m_iID = iID;} ;
	//...
private:
	short  m_iID ;//short型ID

	friend CObjectEx::CObjectEx(const CObject& obj);//定义成友元函数
//	friend CObjectEx ;//将CObjectEx定义成友元类
	friend void ChangeObjToObjEx(CObjectEx& objEx,const CObject& obj) ;//定义成友元函数
};

//CObjectEx类成员函数的实现
CObjectEx::CObjectEx(const CObject &obj)
{
	m_iID = obj.m_iID ;
	//...	
}

void ChangeObjToObjEx(CObjectEx& objEx,const CObject& obj)
{
	objEx.m_iID = obj.m_iID ;
	//...
}
int APIENTRY WinMain(HINSTANCE hInstance,
                     HINSTANCE hPrevInstance,
                     LPSTR     lpCmdLine,
                     int       nCmdShow)
{
 	CObject obj(5);
	CObjectEx objEx(obj);

	return 0;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?