C++ C++;第16、17和18行未声明的标识符
我正在尝试调用三角形方法,但是我似乎基本上做得不对。在第16行,我有3个错误: 三角形:未声明的标识符,语法错误缺少“;”之前 标识符“newTriangle”和newTriangle未声明的标识符 第17行显示newTriangle未声明标识符,第18行显示newTriangle未声明标识符 我不确定我做错了什么或漏掉了什么 我的代码:C++ C++;第16、17和18行未声明的标识符,c++,class,C++,Class,我正在尝试调用三角形方法,但是我似乎基本上做得不对。在第16行,我有3个错误: 三角形:未声明的标识符,语法错误缺少“;”之前 标识符“newTriangle”和newTriangle未声明的标识符 第17行显示newTriangle未声明标识符,第18行显示newTriangle未声明标识符 我不确定我做错了什么或漏掉了什么 我的代码: #include <iostream> #include <cmath> using namespace std; //Base
#include <iostream>
#include <cmath>
using namespace std;
//Base Class (Abstract/Interface)
class Interface{
public:
virtual int area() = 0;
virtual int perimeter() = 0;
};
int main() {
Triangle newTriangle;
newTriangle.area();
newTriangle.perimeter();
};
//Triangle
class Triangle : public Interface {
int s1 = 3;
int s2 = 5;
public:
int area() {
double a = ((s1 * s2) * 1 / 2);
cout << "The area of the triangle:";
cout << a << endl;
}
int perimeter() {
double b = (s1 + s2 + s2);
cout << "The perimeter of the triangle is: ";
cout << b << endl;
}
};
#包括
#包括
使用名称空间std;
//基类(抽象/接口)
类接口{
公众:
虚拟整数区域()=0;
虚拟整数周长()=0;
};
int main(){
三角形三角形;
新三角形面积();
新三角形周长();
};
//三角
类三角形:公共接口{
int s1=3;
int s2=5;
公众:
内部区域(){
双a=((s1*s2)*1/2);
cout您可以这样编写代码:
#include <iostream>
#include <cmath>
using namespace std;
//Base Class (Abstract/Interface)
class Interface{
public:
virtual void area() = 0;
virtual void perimeter() = 0;
};
class Triangle : public Interface {
private:
int s1,s2;
public:
void get(int a,int b)
{
s1=a;
s2=b;
}
void area() {
double a = ((s1 * s2) * 1 / 2);
cout << "The area of the triangle:";
cout << a << endl;
}
void perimeter() {
double b = (s1 + s2 + s2);
cout << "The perimeter of the triangle is: ";
cout << b << endl;
}
};
int main() {
Triangle newTriangle;
newTriangle.get(3,5);
newTriangle.area();
newTriangle.perimeter();
}
#包括
#包括
使用名称空间std;
//基类(抽象/接口)
类接口{
公众:
虚空面积()=0;
虚空周长()=0;
};
类三角形:公共接口{
私人:
int s1,s2;
公众:
void get(int a,int b)
{
s1=a;
s2=b;
}
空区(){
双a=((s1*s2)*1/2);
不能投票以打字错误结束,或者可能有重复:您必须在使用类之前声明类。只需将Triangle
的定义移到main
上您想使用“Triangle”的位置,编译器对它一无所知(因为它的代码还没有出现,)。将定义上移或向前声明。第一个也是最重要的错误是在声明类之前使用了该类,第二个错误出现在函数区域()和周长()中这是非空函数,但仍然没有返回任何有用的数据,这导致了无法达到的警告。我现在明白了!谢谢,我做到了。它工作了。我不太熟悉C++,我只是尝试把我的java程序转换成C++。所以我在这方面实现是新的。@韦斯利哈里森没有尝试转换java PR。将C++复制到有效的java和C++中,但在每个方面都有不同的含义,而没有实现。