1.定义一个Point类,私有数据成员x,y,公有函数成员getx(inta),gety(intb)负责给x,y赋值,公有show0函数负责输出x,y的值,主函数中定义对象测试。。
时间: 2023-03-22 18:01:31 浏览: 104
好的,我理解了您的要求。以下是您的第一个问题的回答:
```python
class Point:
def __init__(self):
self.__x = 0
self.__y = 0
def getx(self, a):
self.__x = a
def gety(self, b):
self.__y = b
def show0(self):
print("x=", self.__x, ", y=", self.__y)
if __name__ == '__main__':
p = Point()
p.getx(3)
p.gety(4)
p.show0()
```
输出结果为:`x= 3 , y= 4`。
这是一个简单的Point类,它有两个私有数据成员x和y,可以使用公有函数成员getx和gety来设置它们的值。公有函数成员show0负责输出它们的值。在主函数中,我们创建了一个Point对象p,并使用getx和gety来设置它的x和y值,最后使用show0来输出它们的值。
相关问题
声明一个point类,有数据成员x,y,三个成员函数:其中init(int a,int b)初始化数据成员x,y的值;函数getx()返回x的值,gety()返回y的值;构造一个point类的对象p1
### 回答1:
这是一个关于Point类的问题,其中有两个成员变量x和y,三个成员函数:init(int a, int b)用于初始化成员变量x和y的值,getx()可以返回x的值,gety()可以返回y的值。还有一个Point类的对象p1。
### 回答2:
点(Point)是二维空间中最基本的图形,通常由横坐标x和纵坐标y表示。为了在程序中描述点的坐标,我们需要定义一个Point类。
Point类应该包含两个数据成员x和y,它们都是整数类型。除此之外,Point类还应该有三个成员函数:init(int a, int b)、getx()和gety()。其中,init(int a, int b)函数用于初始化数据成员x和y的值,它接受两个整数参数a和b,将它们分别赋值给x和y。getx()函数返回数据成员x的值,gety()函数返回数据成员y的值。
声明Point类如下:
```
class Point
{
public:
void init(int a, int b);
int getx();
int gety();
private:
int x;
int y;
};
```
在构造Point类的对象时,需要使用构造函数。构造函数用于初始化对象的数据成员。默认情况下,编译器会为我们自动生成一个无参构造函数。但是,在这个例子中,我们需要声明一个有参构造函数(或者也可以在init函数中实现数据成员的初始化)。
声明Point类的对象p1的代码如下:
```
Point p1;
p1.init(3, 4);
```
该代码首先声明了一个Point类的对象p1。然后,调用p1的init函数,将a=3和b=4分别赋值给p1的x和y。此时,p1的坐标是(3,4)。
我们可以使用getx和gety函数来获取p1的坐标。例如:
```
int x = p1.getx();
int y = p1.gety();
cout << "x=" << x << " y=" << y << endl;
```
代码输出结果如下:
```
x=3 y=4
```
完整的Point类的代码如下:
```
#include <iostream>
using namespace std;
class Point
{
public:
Point(int a = 0, int b = 0) { x = a; y = b; }
void init(int a, int b) { x = a; y = b; }
int getx() { return x; }
int gety() { return y; }
private:
int x;
int y;
};
int main()
{
Point p1(3, 4);
int x, y;
x = p1.getx();
y = p1.gety();
cout << "x=" << x << " y=" << y << endl;
return 0;
}
```
### 回答3:
声明一个point类,需要使用关键字class进行定义。这个类中有两个数据成员,分别是x和y,代表点的横、纵坐标。在类的内部构建三个成员函数,使用成员函数的方法来对x和y进行操作,包括初始化赋值、获取x和y的值。
定义构造函数时,可以使用默认构造函数进行定义。具体代码如下:
class point{ //定义point类
private:
int x; //声明私有数据成员x
int y; //声明私有数据成员y
public:
point(){ //默认构造函数
x = 0;
y = 0;
}
void init(int a, int b){ //初始化数据成员x,y的函数
x = a;
y = b;
}
int getx(){ //获取数据成员x的函数
return x;
}
int gety(){ //获取数据成员y的函数
return y;
}
};
在构造了point类后,我们可以构造一个point对象p1,使用点运算符"."调用相应的函数来对其进行初始化和取值操作,代码如下:
int main(){
point p1; //构造point对象p1
p1.init(3, 4); //调用init函数进行初始化
int x = p1.getx(); //调用getx函数获取x的值,表示为"p1.x"
int y = p1.gety(); //调用gety函数获取y的值,表示为"p1.y"
cout << "x = " << x << ", y = " << y << endl; //输出结果
return 0;
}
这样,我们就成功声明了一个point类,构造了一个point对象p1,并成功调用了其成员函数,对其进行了操作。
根据下面的主函数,补充定义点类Point及相关函数,主要成员如下: (1)两个double型私有数据成员x,y,分别表示横坐标和纵坐标。 (2)几个公有成员函数: a.构造函数:带有默认值,横坐标/纵坐标的默认值均为0; b.常成员函数GetX(),用来返回横坐标的值; c.常成员函数GetY(),用来返回纵坐标的值; d.成员函数Print(),用来输出普通点坐标; e.常成员函数Print(),用来输出常对象点的坐标。 (3)定义友元函数Area,用来求以形式参数指定的两个点之间的长度为半径所得的圆面积。 主函数代码如下: int main() { const Point p1(2,2); Point p2(-5,3); p1.Print(); p2.Print(); cout<<"s1="<<Area(p1,p2)<<endl; return 0; } 根据下面的主函数,补充定义点类Point及相关函数,主要成员如下: (1)两个double型私有数据成员x,y,分别表示横坐标和纵坐标。 (2)几个公有成员函数: a.构造函数:带有默认值,横坐标/纵坐标的默认值均为0; b.常成员函数GetX(),用来返回横坐标的值; c.常成员函数GetY(),用来返回纵坐标的值; d.成员函数Print(),用来输出普通点坐标; e.常成员函数Print(),用来输出常对象点的坐标。 (3)定义友元函数Area,用来求以形式参数指定的两个点之间的长度为半径所得的圆面积。 主函数代码如下: int main() { const Point p1(2,2); Point p2(-5,3); p1.Print(); p2.Print(); cout<<"s1="<<Area(p1,p2)<<endl; return 0; }
```
#include<iostream>
#include<cmath>
using namespace std;
class Point{
private:
double x,y;
public:
Point(double a=0,double b=0):x(a),y(b){} //构造函数
double GetX() const {return x;} //常成员函数GetX
double GetY() const {return y;} //常成员函数GetY
void Print() {cout<<"("<<x<<","<<y<<")"<<endl;} //成员函数Print
void Print() const {cout<<"("<<x<<","<<y<<")"<<endl;} //常成员函数Print
friend double Area(const Point& p1,const Point& p2); //友元函数Area
};
double Area(const Point& p1,const Point& p2){ //求圆面积
double r=sqrt(pow(p1.x-p2.x,2)+pow(p1.y-p2.y,2)); //两点间距离为半径
return M_PI*r*r; //返回圆面积
}
int main() {
const Point p1(2,2);
Point p2(-5,3);
p1.Print();
p2.Print();
cout<<"s1="<<Area(p1,p2)<<endl;
return 0;
}
```
阅读全文