c++与java中子类中调用父类成员的方法

简介:

java中:
import java.util.Scanner;
public class ClassTest{
   public static void main(String args[]){
      child ch=new child(2);
      parent p=ch;
      p.print();
      //p.print2();//调用错误,父类中没有改成员方法,该方法只属于子类!
   }
} 

class parent{
   int xx;
   parent(int x){
      xx=x;
   }
   void print(){
      System.out.println("this is parent!");
   }
   int f(){
      int n;
      Scanner s=new Scanner(System.in);
      n=s.nextInt();
      return n;
   }
}

class child extends parent{
   int xx;
   void print(){
      System.out.println("this is child!");
      System.out.println("父类中的f()函数得到的值:" + super.f());//当然也可以通过super来区分子类与父类同名函数的方法
      System.out.println("子类中的f()函数得到的值:" + f());
   }
   void print2(){
      System.out.println("this is test!");
   }
   child(int x){
      super(x);//调用父类的构造方法
      xx=5;
   }
   int f(){
      System.out.println("父类中的xx值:" + super.xx);//通过super.xxx可以区分子类与父类同名的变量
      System.out.println("子类中的xx值:" + xx);
      return 15;
   }
}
c++中:
#include<iostream> 
using namespace std;
class parent
{
public:
   int p;
   parent(int x)
   {
       p=x;
   }
   void print()
   {
      cout<<"this is parent" <<endl;
   } 
   int f()
   {
    return 11; 
   } 
}; 

class child : public parent
{
public:
   int p; 
   child(int x):parent(x)
   {
       p=15;
   }
   int f()
   {
      return 22;
   } 
   void print()
   {
       cout<<"this is child!" <<endl;
       cout<<"父类中的 p 变量值:"<<parent::p<<endl;
       cout<<"子类中的 p 变量值:"<<p<<endl; 
       
       cout<<"父类中的f()函数值:"<<parent::f()<<endl;
       cout<<"子类中的f()函数值:"<<f()<<endl; 
   } 
   void print2()
   {
      cout<<"this is test!" <<endl;
   } 
};

int main()
{
   child ch(2);
   ch.print();
   return 0;
}

目录
相关文章
|
25天前
|
C++
C++番外篇——对于继承中子类与父类对象同时定义其析构顺序的探究
C++番外篇——对于继承中子类与父类对象同时定义其析构顺序的探究
51 1
|
6月前
|
编译器 C++
C++中执行父类构造方法的技术性探讨
C++中执行父类构造方法的技术性探讨
36 1
|
存储 C++ 开发者
你还不进来看看C++类与对象【7】 —— 动态多态底层原理剖析&&(纯)虚析构解决父类指针不能释放子类属性问题嘛
你还不进来看看C++类与对象【7】 —— 动态多态底层原理剖析&&(纯)虚析构解决父类指针不能释放子类属性问题嘛
134 0
你还不进来看看C++类与对象【7】 —— 动态多态底层原理剖析&&(纯)虚析构解决父类指针不能释放子类属性问题嘛
|
Java Android开发 C++
Android C++系列:JNI调用 Java 类的构造方法和父类的方法
Android JNI开发时经常遇到C/C++层访问Java层对象的,比如C/C++层创建一个String返回,或者访问Java层提供的MediaCodec等,此时我们就需要通过 JNI 来调用 Java 一个类的构造方法来创建这个 Java 类。
181 0
|
编译器 C++
C++ Trick:小心,子类隐藏父类成员函数
学习面向对象的语言,了解继承是必不可少的。您可能觉得这太基础了,大家可都是老“996”了,还用介绍封装、继承、多态那老三样吗?
309 0
|
Java C++
【C++ 语言】面向对象 ( 继承 | 重写 | 子类调用父类方法 | 静态多态 | 动态多态 | 虚函数 | 纯虚函数 )(二)
【C++ 语言】面向对象 ( 继承 | 重写 | 子类调用父类方法 | 静态多态 | 动态多态 | 虚函数 | 纯虚函数 )(二)
213 0
|
Java C++
【C++ 语言】面向对象 ( 继承 | 重写 | 子类调用父类方法 | 静态多态 | 动态多态 | 虚函数 | 纯虚函数 )(一)
【C++ 语言】面向对象 ( 继承 | 重写 | 子类调用父类方法 | 静态多态 | 动态多态 | 虚函数 | 纯虚函数 )(一)
2307 0
|
C++
C++构造函数可向父类或者本类传参
前面我们学习了C ++使用初始化列表的方式初始化字段: http://blog.csdn.net/morixinguan/article/details/74331335 这一节的原理和前面的差不多。
1098 0