求高手帮我填一下以下的C++程序,急需要的会万分感谢的!!急需要~(有好心人给我回答了不过还是不能解决

2024-12-31 14:16:38
推荐回答(1个)
回答1:

我不是发给你了吗,在百度消息里,已经发过了 ,算了,在给你发一次:
第一题:
#include
#include
#include
using namespace std;

class Point
{
int x,y;
static int count;
public:
Point(int xx = 0,int yy = 0):x(xx),y(yy) {
count++;
}
Point(Point & p) {
x = p.x;
y = p.y;
count++;
}

friend double dist(Point &p1,Point & p2);

static void show(Point &p) {
cout<<"("< cout<<" , point count:"< }

};
int Point::count = 0;
double dist(Point &p1,Point &p2)
{
double x=p1.x-p2.x;
double y=p1.y-p2.y;
return sqrt(x*x+y*y);
}

int main()
{
Point p1;
Point::show(p1);
Point p2(3,4);
Point::show(p2);

cout<<"distance:"< getchar();
return 0;
}
第二题:
#include
#include
#include
using namespace std;

class Matrix
{
int *p_data; //矩阵数据
int row, col; //矩阵的行数和列数
public:
Matrix(int r, int c);
Matrix(Matrix &m);
~Matrix();
int & element(int i,int j);//访问矩阵元素
void display();//显示矩阵元素
Matrix add(Matrix &m);
};
Matrix::Matrix(int r, int c)
{
row=r;
col=c;
p_data = new int[row*col];
for (int i=0;i *(p_data+i) = 0;
};
Matrix::Matrix(Matrix &m)
{
row=m.row;
col=m.col;

p_data= new int [row*col];
for (int i=0;i for (int j=0;j element(i,j)= m.element(i,j);
};
Matrix::~Matrix()
{
delete []p_data;
};
int& Matrix::element(int i, int j)
{
return *(p_data+i*col+j);
};
Matrix Matrix::add(Matrix &m)
{
Matrix temp(row,col);
for (int i=0;i for (int j=0;j temp.element(i,j)=element(i,j)+m.element(i,j);
return temp;
};
void Matrix::display()
{
for (int i=0;i for (int j=0;j cout< cout<<'\n';
}
};
int main()
{

int row=2,col=3;

Matrix mym1(row,col);
Matrix mym2(row,col);
for (int i=0;i for (int j=0;j cin>>mym1.element(i,j);

for ( int i=0;i for (int j=0;j cin>>mym2.element(i,j);
getchar();
cout<<"matrix:\n";
cout<<"mym1:"< mym1.display();
cout<<"\nmym2:"< mym2.display();

//Matrix m(2,3);
//m = mym1.add(mym2);
cout<<"after mym1 add mym2 :\n";
mym1.add(mym2).display();
getchar();
return 0;
}
这个第二题,稍微有点改动,是我的编译器的问题,按着原题编译,我的编译器编译不过去,你看看就知道了。