c++中关于类的一个简单程序,老提示成员函数undeclared identifier,求大神解答。急!附详细程序.....

#include<iostream.h>
class Point
{
public:
void InitPoint(float PointA_x=0,float PointA_y=0)
{
P1_x=PointA_x;
P1_y=PointA_y;
}

void Move(float New_x,float New_y)
{
P1_x+=New_x;
P1_y+=New_y;
}
float GetPointx()
{
return P1_x;
}
float GetPointy()
{
return P1_y;
}
private:
float P1_x,P1_y;
};
void main()
{
float x,y,a,b,c,d;
cout<<"Insert PointA_x,POintA_y"<<endl;
cin>>x;
cin>>y;
InitPoint(x,y);
cout<<"Insert New_x,New_y"<<endl;
cin>>a;
cin>>b;
Move(a,b);
c=GetPointx();
d=GetPointy();
cout<<"PointA_x="<<c<<endl;
cout<<"PointA_y="<<d<<endl;
}

你就没有声明一个Point类型的对象 InitPoint(x,y)Move(a,b);GetPointx();GetPointy();什么的就没法调用~
应该在声明处 加一个Point对象的实例: Point point; 然后再point.InitPoint(x,y) 之类的~
或者定义一个Point类型的指针new一下 Point* ptr=new Point;
然后prt->InitPoint(x,y)什么的... 记得 最后加上 delete ptrl;防止内存泄露
LZ面向对象还没理解透啊~虽然方法是 Public的并不是说可以孤立的调用,得有对象~
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-11-10
undeclared identifier 字面意思是 有变量没有声明

在你的类中 P1_x 和 P1_y 都没有进行过声明
所以会报错

解决方法

class Point
{
public:
下加上声明
float P1_x, P1_y;
就行了
第2个回答  2010-11-10
#include<iostream.h>
class Point
{

public:
void InitPoint(float PointA_x=0,float PointA_y=0)
{
P1_x=PointA_x;
P1_y=PointA_y;
}

void Move(float New_x,float New_y)
{
P1_x+=New_x;
P1_y+=New_y;
}
float GetPointx()
{
return P1_x;
}
float GetPointy()
{
return P1_y;
}
private:
float P1_x,P1_y;
};
void main()
{
Point point;
float x,y,a,b,c,d;
cout<<"Insert PointA_x,POintA_y"<<endl;
cin>>x;
cin>>y;
point.InitPoint(x,y);
cout<<"Insert New_x,New_y"<<endl;
cin>>a;
cin>>b;
point.Move(a,b);
c=point.GetPointx();
d=point.GetPointy();
cout<<"PointA_x="<<c<<endl;
cout<<"PointA_y="<<d<<endl;
}
//调用类中的方法

c++中“ undeclared identifier”是什么意思?
C++中“undeclared identifier”意思是有一个标识符没有声明。错误的原因:1、可能是需要导入某个头文件;2、变量没有定义。如没有声明的变量,函数,类型,却在使用;

C++报错undeclared identifier的问题!求高手!
void result(int c) \/\/ c { cout<<""<<show(a,b);} 这个函数中a,b没有定义,一般来说,一个独立的{}就是一个独立的变量作用域,所以出现以上错误,可改为 void result(int c,int a,int b) \/\/ c { cout<<""<<show(a,b);} ...

undeclared identifier怎么解决
using namespace std;int main(){int bb=5;cout<<"bb="<<b<<endl; \/\/上面并没有声明“b”这个变量。return 0;} 可以看看在undeclared identifier前面有没有什么字母,比如上面那个例子的话它就会提示“b”undeclared identifier。C++是C语言的继承,它既可以进行C语言的过程化程序设计,又可以进行...

C++中的undeclared identifier
include "stdio.h" void main( ) { double a,b,c,s,v; printf("Input a,b,c:"); \/\/这里少了引号 scanf("%d%d%d", &a,&b,&c); \/\/这里少了& s=a*b; v=a*b*c; printf("a=%d b=%d c=%d\\n",a,b,c); printf("s=%f\\n",s, "v=%d\\n"...

C++出现undeclared identifier怎么办?急!!!
首先,你的子函数在主函数中没有声明!其次,,你主函数中调用时,形参的数目和实参的数目不一致! 应该把定义的局部变量放到块作用域{}里面;例如 void OutAll(int ary[],int n){for (int i=0;i<n;i++){cout<<ary[i]<<" ";} } ...

C++程序中出现 undeclared identifie怎么破?
要声明类的对象然后调用。。

C++中undeclared identifier是怎么回事?
你没用定义变量!找报错的代码中找一下咯 一定是上面没定义,而下面却在引用!

C++中undeclared identifier问题(未声明问题)
自定义变量或函数忘了先声明后使用。没有include 必要的头文件,以致 库函数或系统变量名 出现此错误。拼写错,大小写错,出现 标识符 未声明问题。花括号配对错,引起变量定义域混乱,出现此错误。此类错误很容易纠正。

C++中“undeclared identifier”是属于什么类型的错误啊
本意是没有定义标识符也有可能你定义了但没有定义在函数的开始位置,这样也会提示错误的!!

c++定义对象出现undeclared identifier
派生类teacher和labworker需要定义构造函数!!!默认构造函数为空函数,不会初始化派生类成员变量。

相似回答