如何定义一个类中有n个元素的数组
How to define an array with n number of elements inside of a class
我用C++编写了一个程序,用鞋带法计算多边形的表面积。我已经签入了主代码,该部分工作正常。当我试图将相同的代码放入类中时,问题就出现了。这是头文件的代码:
#include "Tacka.h"
class mnogougao{
public:
Tacka* x;
mnogougao(int n);
float pertlanje(int n);
}
这是类的cpp文件的代码
#include "tacka.h"
#include "tackaa.cpp"
#include "mnogougao.h"
mnogougao::mnogougao(int n){
x = new Tacka [n];
}
float mnogougao::pertlanje( int n){
int j=n-1;
float povrsina=0.0;
for(int i=0;i<n;i++){
povrsina+=(x[i].getx()+x[j].getx())*(x[j].gety()-x[i].gety());
j=i;
}
if(povrsina<0) povrsina*=-1;
povrsina/=2.0;
return povrsina;
}
这是主要代码:
#include <iostream>
#include "Tacka.h"
#include "mnogougao.h"
#include "mnogougao.cpp"
using namespace std;
int main(){
cout<<"Insert number of points of a polygon:"<<endl;
int n;
cin>>n;
mnogougao x(n);
for(int i=0;i<n;i++){
cout<<"Insert coordinates of "<<i+1<<". point of the polygon:"<<endl;
float a;
cout<<"X:";
cin>>a;
float b;
cout<<"Y:";
cin>>b;
x.x[i].setx(a);
x.x[i].sety(b);
}
cout<<"Surface area of a polygon is: "<<x.pertlanje(n)<<endl;
system("pause");
}
此外,我忘了添加,这是Tacka类头文件的代码
#pragma once
class Tacka
{
public:
float x,y;
float getx();
float gety();
void setx(float a);
void sety(float a);
Tacka();
Tacka(float a, float b);
};
这是Tacka类的cpp文件的代码
#include "tacka.h"
#include <iostream>
using namespace std;
Tacka::Tacka(){
x=0.0;
y=0.0;
}
Tacka::Tacka(float a, float b)
{
x=a;
y=b;
}
float Tacka::getx(){
return x;
}
float Tacka::gety(){
return y;
}
void Tacka::setx(float a){
x=a;
}
void Tacka::sety(float a){
y=a;
}
它说我在cpp文件中的构造函数中犯了一个错误:错误C2533:"mnogougao::{ctor}":构造函数不允许返回类型。有人能向我解释一下我犯了什么错误吗?我很确定错误在于声明数组中的多个元素,但我找不到任何可以帮助我解决问题的东西。
类定义末尾缺少一个分号。
这将触发错误
error C2533: 'mnogougao::{ctor}': constructors not allowed a return type
在MSVC(Visual Studio(中。
演示
相关文章:
- Mongodb c++驱动程序:如何查询元素的数组
- 将数组作为参数传递给函数安全吗?作为第三方职能部门,可以探索他们想要的之外的其他元素
- 使用strcpy将char数组的元素复制到另一个数组
- 如何将元素添加到数组的线程安全函数?
- cpp二进制搜索问题,计算给定数组中输入元素的出现次数
- 输出没有重复元素的动态数组(收缩数组)C++
- 数组中最大的非重复元素
- 数组元素打印的递归方法
- 对字符数组中的元素执行逐位操作
- 缓存std::数组的选定元素,并在c++中自动保持其一致性
- 如何计算数组中元素的位数?(不是数组的长度),并计算其数字的总和
- 通过交换元素使数组相同
- 按平均值替换数组中的元素
- 打印矢量数组中的所有元素
- 如何将字节数组元素替换为修改的十六进制 ASCII 符号?
- 如何为 c++ 的不同变量类型的结构元素创建动态数组?
- 如何将元素从向量转移到新数组?
- 如何在向量数组中插入元素?
- 为什么 2 个相同数组的元素彼此相等
- C++ 中的二维整数数组,每行中的元素数量不均匀