C++ 友元函数问题求这道题目的代码题目5(30分):定义类X,Y,Z,使之满足以下几个条件:类X有么一个私有成员i,类

hrsing2022-10-04 11:39:541条回答

C++ 友元函数问题
求这道题目的代码
题目5(30分):定义类X,Y,Z,使之满足以下几个条件:
类X有么一个私有成员i,
类Y的一个成员函数f是类X的友元函数,实现对X的i加1操作。
类Z是类X的友元类,Z的一个成员函数g实现对X的i加2操作。
函数h是类X的友元函数,实现对X的i加3操作。

已提交,审核后显示!提交回复

共1条回复
yesewuhen 共回答了26个问题 | 采纳率92.3%
#include "iostream.h"
class X;
class Z
{
public:
void g(X & p);
};
class Y
{
public:
void f(X & p);
};
class X
{
int i;
public:
X(int n):i(n){}
void show()
{cout
1年前

相关推荐

定义point累来描述平面上的点,包含私有数据成员x和y.定义友元函数distance计算两点距离(说明两点p1(x1,
定义point累来描述平面上的点,包含私有数据成员x和y.定义友元函数distance计算两点距离(说明两点p1(x1,y1),p2(x2,y2),则两点距离=根号(x1减去x2差的平方加上y1和y2差的平方)
荷hh781年前1
jx005 共回答了21个问题 | 采纳率81%
#include
class POINT
{
public;
Point(double a,double b){ x=a;y=b};
fiend double square(Point &a,Point &b);
private:
double x,y;
};
double square(Point &a,Point &b) { return sqr((a.x-b.x)*(a.x-b.x)+(a.y-b.y)*(a.y-b.y))};
void main()
{
Point p1(x1,y1),p2(x2,y2);
double l;
l=square(p1,p2);
}
C++问题 求解答不可以访问类的对象的私有成员的有( )。A.该类中说明的友元函数B.由该类的友元类派生出的类的成员函数
C++问题 求解答
不可以访问类的对象的私有成员的有( )。
A.该类中说明的友元函数
B.由该类的友元类派生出的类的成员函数
C.该类的派生类的成员函数
D.该类本身的成员函数
张龙求1年前1
晒干的虾米 共回答了19个问题 | 采纳率73.7%
1,编写一个程序,要求输入一个整数,并求出它的所有因子。
int * fnGetDivisor(int source)
{
int result[source];
memset(result,0,source);
for(int i =1,j=0;i
如何定义一个函数,使其为同时两个类的友元函数.>
okgogo1年前1
gigi19841984 共回答了15个问题 | 采纳率100%
不用友元函数的话,可以使类B成为类A的友元类.然后类B中重载+操作符成员函数.
class A
{
...
public:
friend class B;
}
class B
{
...
public:
operator + (const A &a);
...
}
C++运算符重载为成员函数、友元函数问题
C++运算符重载为成员函数、友元函数问题
1)设计一个矩阵类matrix,并定义其构造函数用于对象初始化
(2)在此类中以成员函数的形式重载“+”运算符实现两个矩阵求和。
(3)在main函数中定义两个矩阵对象,求两个矩阵的和
之后
(4)在此类中以友元函数的形式重载“+”运算符实现两个矩阵求和。
(3)在main函数中定义两个矩阵对象,求两个矩阵的和
绯心雨1年前1
winkowu 共回答了20个问题 | 采纳率90%
帮你实现,1,2,3 可否? 后面的 4.3就简单了
C++运算符重载为成员函数、友元函数问题
C++运算符重载为成员函数、友元函数问题
1)设计一个矩阵类matrix,并定义其构造函数用于对象初始化
(2)在此类中以成员函数的形式重载“+”运算符实现两个矩阵求和。
(3)在main函数中定义两个矩阵对象,求两个矩阵的和
之后
(4)在此类中以友元函数的形式重载“+”运算符实现两个矩阵求和。
(3)在main函数中定义两个矩阵对象,求两个矩阵的和
求解34
xhm19831年前1
gk1586 共回答了20个问题 | 采纳率80%
哎,,,叫你求助我又不求助,无语其实我早写好了我的重载为-,如果你改+,就把之前的重载删除,就可以了

#include
#define MAX 10
using namespace std;
class matrix;
matrixoperator-(matrixb,const matrixc);
class matrix
{
private:
int row,col,(*a)[MAX];
public:
matrix(){}
matrix(int r,int c,int (*b)[MAX]):row(r),col(c),a(b){}
matrixoperator+(const matrixb)
{
for(int i=0;ifor(int j=0;ja[i][j]=a[i][j]+b.a[i][j];
return *this;
}
friend matrixoperator-(matrixb,const matrixc)
{
for(int i=0;ifor(int j=0;j b.a[i][j]=b.a[i][j]-c.a[i][j];
return b;
}
void show()
{
for(int i=0;i{
for(int j=0;jcout<cout<}
}
};

void main()
{
int row =2 ,col =3,a[2][MAX]={{1,2,3},{4,5,6}};
matrix mat1(row,col,a);
int b[2][MAX]={{4,3,2},{1,2,3}};
matrix mat2(row,col,b);
matrix mat3;
mat3 = mat1 + mat2;
cout<<"mat3"<mat3.show();
cout<<"mat1"<mat1.show();
cout<<"mat4"<matrix mat4;
mat4 = mat1 - mat2;
mat4.show();
}
C++问题:定义一个圆类,计算圆的面积和周长 要求:分别用成员函数 友元函数来计算圆的周长和面积
C++问题:定义一个圆类,计算圆的面积和周长 要求:分别用成员函数 友元函数来计算圆的周长和面积
分别用成员函数 友元函数来计算圆的周长和面积
名字总是被用1年前1
云上於天 共回答了16个问题 | 采纳率87.5%
Java的行不,C++的不记得了.
public class Circle
{
private static double PI=3.14
private double radius;
public Circle(double radius)
{
this.radius=radius;
}
public double Area()
{
return PI*radius*radius;
}
public double Perimeter()
{
return 2*PI*radius;
}
}
关于友元的描述中,( )是错误的.A.友元函数是成员函数,它被说明在类体内 B.友元函数可直接访问类中的
关于友元的描述中,( )是错误的.A.友元函数是成员函数,它被说明在类体内 B.友元函数可直接访问类中的
C.友元函数破坏封装性,使用时尽量少用
D.友元类中的所有成员函数都是友元函数
vv631年前1
summerboy81 共回答了12个问题 | 采纳率91.7%
A错,友元函数不是成员函数,但要在类中声明
用c++ 定义一个圆类,计算圆的面积和周长.要求:分别用成员函数和友元函数来求圆的面积和周长.
用c++ 定义一个圆类,计算圆的面积和周长.要求:分别用成员函数和友元函数来求圆的面积和周长.
急用!
qimiya1年前1
万马军中一tt 共回答了24个问题 | 采纳率87.5%
#include
class Circle
{
public:
Circle():radius(0){}
Circle(double r):radius(r){}
const double area() const
{
return M_PI * radius * radius;
}
const double perimeter() const
{
return 2 * M_PI * radius;
}
friend double area(Circle);
friend double perimeter(Circle);
private:
double radius;
};
double area(Circle c)
{
return M_PI * c.radius * c.radius;
}
double perimeter(Circle c)
{
return 2 * M_PI * c.radius;
}