- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我需要将笛卡尔坐标转换为极坐标。我在转换为 polar 时遇到的错误是“Expected type specifier before Polar”。请帮帮我。我阅读了其他帖子,发现我需要指定类类型。我试过它指定为“笛卡尔”。我应该如何指定?提前谢谢。我在被注释掉的部分中收到错误
#include<iostream>
#include<cstdio>
#include<cmath>
using namespace std;
class Cartesian
{
double x,y;
public:
Cartesian()
{
x=0.0;y=0.0;
}
Cartesian(int x,int y)
{
this->x=x;
this->y=y;
}
Cartesian(const Cartesian& p)
{
x=p.x;
y=p.y;
}
int getX()
{
return x;
}
int getY()
{
return y;
}
double operator-(Cartesian b)
{
double dist;
dist=sqrt((x-b.x)*(x-b.x)+(y-b.y)*(y-b.y));
return dist;
}
/*operator Polar()
{
Polar temp;
temp.r=sqrt((x*x)+(y*y));
temp.theta=atan(y/x);
return temp;
}*/
};
class Polar
{
double r,theta;
public:
Polar()
{
r=0.0;theta=0.0;
}
Polar(int r,int theta)
{
this->r=r;
this->theta=theta;
}
Polar(const Polar& p)
{
r=p.r;
theta=p.theta;
}
int getR()
{
return r;
}
int getTheta()
{
return theta;
}
double operator-(Polar b)
{
double dist;
dist=sqrt(r*r+(b.r)*(b.r)+2*(r)*(b.r)*cos(theta-b.theta));
return dist;
}
};
int operator==(Cartesian a,Cartesian b)
{
int t1,t2;
t1=a.getX();
t2=b.getX();
if(t1==t2)
{
t1=a.getY();
t2=b.getY();
if(t1==t2)
return 1;
}
return 0;
}
int operator==(Polar a,Polar b)
{
int t1,t2;
t1=a.getR();
t2=b.getR();
if(t1==t2)
{
t1=a.getTheta();
t2=b.getTheta();
if(t1==t2)
return 1;
}
return 0;
}
int operator==(Cartesian a,Polar b)
{
int t1,t2,t3,t4;
t1=a.getX();
t2=a.getY();
t3=b.getR();
t4=b.getTheta();
if((sqrt(t1*t1+t2*t2)==t3)&&(atan(t2/t1)==t4))
return 1;
else
return 0;
}
int main()
{
double temp1,temp2,temp3,temp4,distance;
cout<<"Enter the x and y coordinates of the first point\n";
cin>>temp1>>temp2;
Cartesian a1(temp1,temp2);
cout<<"Enter the x and y coordinates of the second point\n";
cin>>temp3>>temp4;
Cartesian b1(temp3,temp4);
distance=a1-b1;
cout<<distance<<"\n";
cout<<"Enter the r and theta coordinates of the first point\n";
cin>>temp1>>temp2;
Polar a2(temp1,temp2);
cout<<"Enter the r and theta coordinates of the second point\n";
cin>>temp3>>temp4;
Polar b2(temp3,temp4);
distance=a2-b2;
cout<<distance<<"\n";
if(a1==a2)
cout<<"True";
return 0;
}
最佳答案
在定义operator Polar
的地方没有定义类Polar,所以需要在定义Polar之后前向声明并实现。此外,您正在访问 Polar 的私有(private)成员,因此您需要将 Cartesian 声明为 Polar 的友元:
class Polar; // forward declaration
class Cartesian {
//...
operator Polar(); // only the declaration
};
class Polar {
friend class Cartesian; // so that Cartesian sees private members
//...
};
// implementation of operator Polar()
Cartesian::operator Polar() {
Polar temp;
temp.r=sqrt((x*x)+(y*y));
temp.theta=atan(y/x);
return temp;
}
关于c++ - 运算符重载类型转换 : Polar to cartesian c++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32212209/
如何在 Polars DataFrame 上应用字数统计我有一个字符串列,我想对所有文本进行字数统计。谢谢 数据框示例: 0 Would nev
如果我有一个 Polars 文字,我该如何提取值? import polars as pl expr = pl.lit(0.5) val = float(expr) # TypeError: floa
有没有一种方法可以通过多个条件来过滤 polars DataFrame? 这是我的用例以及我目前如何解决它,但我想知道如何解决它,如果我的日期列表更长: dates = ["2018-03-25",
如果我有一个 Polars 文字,我该如何提取值? import polars as pl expr = pl.lit(0.5) val = float(expr) # TypeError: floa
有没有一种方法可以通过多个条件来过滤 polars DataFrame? 这是我的用例以及我目前如何解决它,但我想知道如何解决它,如果我的日期列表更长: dates = ["2018-03-25",
我有一个字符串格式的 UUID 时间序列,我希望 Polars 将它们转换为 u128 数字,以便更好地存储和查询。 与我们处理日期的方式类似: ....str.strptime(pl.Datetim
我正在尝试用 Polars 替换 Pandas在生产代码中,以获得更好的内存性能。 Pandas .isna() 方法的 Polars 等价物是什么?我在文档中找不到任何好的等效项。 最佳答案 Pol
我正在寻找在 polars 中执行 pandas 的 df.groupby(["group_a", "group_b"]).ngroup() 并将特定的 ngroup 计数器值分配回的最佳方法相应的组
我得到了一个 pl.LazyFrame,其中包含包含日期表示形式的 Object 类型列,它还包含缺失值(无)。 第一步,我想将列从 Object 转换为 Utf8,但这会导致 ComputeErro
我有一个包含 2 列的数据框,其中第一列包含列表,第二列包含整数索引。如何通过第二列中指定的索引从第一列获取元素?或者更好的是,将该元素放在第 3 列中。因此,例如,如何从这个 a = pl.Data
假设我有一个由以下代码手动生成的简单数据框: cols=['a','b','c'] values=['d','e','f'] df=(pl.DataFrame({cols[i]:[values[i]]
我有一个桌面应用程序,其中大部分计算 (>90%) 发生在它的 Rust 端。但我希望用户能够用 Python 编写脚本来对 df 进行操作。 这可以在不将运行时之间的数据帧序列化为文件的情况下完成吗
所以我有一个看起来像这样的 Polars 数据框 df = pl.DataFrame( { "ItemId": [15148, 15148, 24957], "
在 pandas 中,以下代码会将 col1 中的字符串拆分为许多列。有没有办法在极地做到这一点? d = {'col1': ["a/b/c/d", "a/b/c/d"]} df= pd.DataFr
除一种情况外,我很享受 Polars 比 Pandas 的显着加速。我是 Polars 的新手,所以这可能只是我的错误用法。无论如何,这是一个玩具示例:在单列上,我需要在我的情况下应用自定义函数,它是
我有一个极坐标数据框: df = pl.DataFrame({'schema_name': ['test_schema', 'test_schema_2'],
所以我有一个极坐标列/系列,它是数字字符串。 s = pl.Series("a", ["111","123","101"]) s shape: (3,) Series: 'a' [str] [
总的来说,我对 Polars 和 Python 都很陌生。我有一个有点不寻常的问题,需要一些帮助。我有一个包含 50 多个 0/1 列的数据框。我需要创建一个新列,其中包含每列的逗号分隔列表,其中包含
你好; 是否有任何函数可以通过计算两个系列的行最小值来生成系列?功能将类似于 np.minimum a = [1,4,2,5,2]b= [5,1,4,2,5] np.minimum(a,b) -> [
在对 FPGA 进行了一番研究之后,我在分配引脚时差点心脏病发作。 FPGA 上有任意数量的引脚,一些 IDE 很有帮助,可以让您访问封装信息,包括引脚数、它们属于哪个 IO 组以及极性是。在广泛研究
我是一名优秀的程序员,十分优秀!