// lianxi4.1.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include<iostream>
using namespace std;
class ClassAdd
{
private:
int x;
int y;
public:
friend int ModifyMember(ClassAdd &Ca,int a,int b);//定义友元函数时注意加函数的返回值类型
ClassAdd();
void printMember();
};
ClassAdd::ClassAdd()
{
x=y=1;
}
void ClassAdd::printMember()
{
cout<<"修改前:"<<endl;
cout<<"x="<<x<<" y="<<y<<endl;
}
int ModifyMember(ClassAdd &Ca,int a,int b)
{
Ca.x=a;
Ca.y=b;
cout<<"修改后:"<<endl;
cout<<"x="<<Ca.x<<" y="<<Ca.y<<endl;
return 0;
}
int main()
{
ClassAdd classadd;
int m,n;
m=n=0;
classadd.printMember();//此处调用类内的函数需要定义一个对象来实现
cout<<"请输入修改的x,y的值:";
cin>>m>>n;
ModifyMember( classadd,m,n);
return 0;
}
使用友元函数实现用外部函数修改类内的私有数据成员
最新推荐文章于 2024-07-05 09:08:44 发布