0
嗨我得到每个函数的错误,我试过“功能没有在此范围内声明”。我是C++的新手,并试图让我的技术援助来解决这个问题,但还没有弄明白。感谢您的帮助!C++链接头/主错误
这里是我的头文件(circle.h):
#ifndef _CIRCLE_H_
#define _CIRCLE_H_
class circle
{
private:
double x1;
double x2;
double y1;
double y2;
protected:
double distance(double x1, double y1, double x2, double y2);
public:
double radius(double x1, double y1, double x2, double y2);
double circumference(double x1, double y1, double x2, double y2);
double area(double x1, double y1, double x2, double y2);
void populate_classobj(double x1, double y1, double x2, double y2);
};
#endif
这里就是我定义我的类函数(circle.cc):
#include <cmath>
#include "circle.h"
#define PI (4*atan(1))
using namespace std;
double circle::distance(double x1, double y1, double x2, double y2) {
double dist;
dist = sqrt(pow((x2-x1),2)+pow((y2-y1),2));
return dist;
}
double circle::radius(double x1, double y1, double x2, double y2) {
return distance(x1, y1, x2, y2);
}
double circle::area(double x1, double y1, double x2, double y2) {
double circle_area = PI*(pow(radius(x1, y1, x2, y2),2));
return circle_area;
}
double circle::circumference (double x1, double y1, double x2, double y2) {
double circ = 2*PI*radius(x1, y1, x2, y2);
return circ;
}
void circle::populate_classobj (double x_1, double y_1, double x_2, double y_2) {
double x1 = x_1;
double y1 = y_1;
double x2 = x_2;
double y2 = y_2;
}
这里是我的主(主。立方厘米):
#include <iostream>
#include <cmath>
#include "circle.h"
using namespace std;
int main()
{
double x_1, y_1, x_2, y_2;
int switch_val;
cout << "Enter x1 coordinate: ";
cin >> x_1;
cout << "Enter y1 coordinate: ";
cin >> y_1;
cout << "Enter x2 coordinate: ";
cin >> x_2;
cout << "Enter y2 coordinate: ";
cin >> y_2;
circle mycircle;
mycircle.populate_classobj (x_1, y_1, x_2, y_2);
do{
cout << "1 for radius, 2 for circumference, 3 for area, 4 for exit" << endl;
cout << "Enter your desired computation: ";
cin >> switch_val;
switch(1) {
case 1: cout << "Radius is: " <<endl;
cout << radius(x_1, y_1, x_2, y_2);
break;
case 2: cout << "Circumference is: " <<endl;
cout << circumference (x_1, y_1, x_2, y_2);
break;
case 3: cout << "Area is: " <<endl;
cout << area(x_1, y_1, x_2, y_2);
break;
case 4: cout << "Exiting program... "<< endl;
break;
default: cout << "Invalid input please re-input value"<<endl;
break;
}
}while(switch_val != 4);
return 0;
}
我认为这是与我的#include
报表,但我不知道。谢谢!
针对您的问题的更具体的标题对于可能有相同问题的其他人来说会很好。 – Gombat
您的main.cc是否包含'#include“circle.h”'行? –