定义了一个类A又定义了类B,类B的成员函数的定义用到了类A的函数和变量,要怎么写举个例子也行,老是报错,undeclared identifier如下为path.cpp中的代码//-----------------------------------------------------#include “Isl.h”.void Path::calc(double highAngle[20],double x[20],double y[20],double z[20]){ if_is_s(highAngle); // if_is_s是Isl类的 cout
定义了一个类A又定义了类B,类B的成员函数的定义用到了类A的函数和变量,要怎么写
举个例子也行,老是报错,undeclared identifier
如下为path.cpp中的代码
//-----------------------------------------------------
#include “Isl.h”
.
void Path::calc(double highAngle[20],double x[20],double y[20],double z[20])
{
if_is_s(highAngle); // if_is_s是Isl类的
cout
简单的方法就是用到继承,记住的概念:子类继承父类的方法和变量,
则这些方法和变量就属于子类,
则子类对象对这些方法和变量
的调用是显而易见的,举个例子为了省事就不给您写出包名直接从累写起class test {
public static void main(…){
a a1=new a();
a1.print();
b b1=new b();
b1.print();
}
}
class a
{
int x=1;
void print() {
System.out.println(x);
}
}
class b extends a
{
int x=100
void print()
{
System.out.println(“super.x=”+super.x);
Super.print();
System.out.println(“x=”+x);
}
}最后输出结果就是
1
super.x=1
1
X=100
注意把同包中的变量的修饰符改为public就可以访问不同包中的成员变量.
2种方法:例 package graphics;
public class Circle extends Graphic implements Draggable {
...
}
利用包成员的规范名(包名+类名)
graphics.Circle myCir = new graphics.Circle();
引入(import)包成员名
import graphics.Circle;
… …
Circle myCir = new Circle();
引入(import)整个包成员
import graphics.*;
… …
Circle myCir = new Circle();