Java程序辅导

C C++ Java Python Processing编程在线培训 程序编写 软件开发 视频讲解

客服在线QQ:2653320439 微信:ittutor Email:itutor@qq.com
wx: cjtutor
QQ: 2653320439
CS 4303 Programming Language Concepts 
Lab – Chapter 5 
This lab is an exercise of using Java’s and C++’s dynamic binding features. The uncompleted programs to 
run in Java and in C++ are given below. You can download jGrasp IDE (www.jGrasp.org) to run the Java 
program. Note that you need to create a driver class with the main method to run the Java program. 
Also, you need to write the main function to run the C++ program. Perform the following activities: 
1. predict the output of the Java program. 
2. run the Java program and compare your prediction to the actual output of the program.  
3. Complete the C++ program such that it prints the same output as the Java program does. You 
need to use the given classes to generate the desired output. 
4. Turn in your Java and C++ program files (.java and .cpp files) in Blackboard Learn. 
The Java Program is: 
 
class A 
{ public void p() 
  { System.out.println(“A.p”); } 
  public void q() 
  { System.out.println(“A.q”); } 
  public void r() 
  { p(); q(); } 
} 
 
class B extends A 
{ public void p() 
  { System.out.println(“B.p”); } 
} 
 
class C extends B 
{ public void q() 
  { System.out.println(“C.q”); } 
  public void r() 
  { p(); q(); } 
} 
… 
A a; 
C c = new C(); 
a = c; 
a.r(); 
a = new B(); 
a.r(); 
a = new C(); 
a.r(); 
 
 
The C++ Program is: 
 
class A 
{ public: 
virtual void p() 
    { cout << “A.p” << endl; } 
   void q() 
    { cout << “A.q” << endl; } 
   virtual void r() 
    { p(); q(); } 
}; 
 
class B : public A 
{ public: 
void p() 
    { cout << “B.p” << endl; } 
}; 
 
class C : public B 
{ public: 
void q() 
    { cout << “C.q” << endl; } 
   void r() 
    { p(); q(); } 
};