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

简介: 1 java中: 2 import java.util.Scanner; 3 public class ClassTest{ 4 public static void main(String args[]){ 5 child ch=new child(2); 6 parent p=ch; 7 p.
 1 java中:
 2 import java.util.Scanner;
 3 public class ClassTest{
 4    public static void main(String args[]){
 5       child ch=new child(2);
 6       parent p=ch;
 7       p.print();
 8       //p.print2();//调用错误,父类中没有改成员方法,该方法只属于子类!
 9    }
10 } 
11 
12 class parent{
13    int xx;
14    parent(int x){
15       xx=x;
16    }
17    void print(){
18       System.out.println("this is parent!");
19    }
20    int f(){
21       int n;
22       Scanner s=new Scanner(System.in);
23       n=s.nextInt();
24       return n;
25    }
26 }
27 
28 class child extends parent{
29    int xx;
30    void print(){
31       System.out.println("this is child!");
32       System.out.println("父类中的f()函数得到的值:" + super.f());//当然也可以通过super来区分子类与父类同名函数的方法
33       System.out.println("子类中的f()函数得到的值:" + f());
34    }
35    void print2(){
36       System.out.println("this is test!");
37    }
38    child(int x){
39       super(x);//调用父类的构造方法
40       xx=5;
41    }
42    int f(){
43       System.out.println("父类中的xx值:" + super.xx);//通过super.xxx可以区分子类与父类同名的变量
44       System.out.println("子类中的xx值:" + xx);
45       return 15;
46    }
47 }
 1 c++中:
 2 #include<iostream> 
 3 using namespace std;
 4 class parent
 5 {
 6 public:
 7    int p;
 8    parent(int x)
 9    {
10        p=x;
11    }
12    void print()
13    {
14       cout<<"this is parent" <<endl;
15    } 
16    int f()
17    {
18     return 11; 
19    } 
20 }; 
21 
22 class child : public parent
23 {
24 public:
25    int p; 
26    child(int x):parent(x)
27    {
28        p=15;
29    }
30    int f()
31    {
32       return 22;
33    } 
34    void print()
35    {
36        cout<<"this is child!" <<endl;
37        cout<<"父类中的 p 变量值:"<<parent::p<<endl;
38        cout<<"子类中的 p 变量值:"<<p<<endl; 
39        
40        cout<<"父类中的f()函数值:"<<parent::f()<<endl;
41        cout<<"子类中的f()函数值:"<<f()<<endl; 
42    } 
43    void print2()
44    {
45       cout<<"this is test!" <<endl;
46    } 
47 };
48 
49 int main()
50 {
51    child ch(2);
52    ch.print();
53    return 0;
54 }

 

 

目录
相关文章
|
3月前
|
API C++ Windows
Visual C++运行库、.NET Framework和DirectX运行库的作用及常见问题解决方案,涵盖MSVCP140.dll丢失、0xc000007b错误等典型故障的修复方法
本文介绍Visual C++运行库、.NET Framework和DirectX运行库的作用及常见问题解决方案,涵盖MSVCP140.dll丢失、0xc000007b错误等典型故障的修复方法,提供官方下载链接与系统修复工具使用指南。
789 2
|
3月前
|
存储 Java 索引
用Java语言实现一个自定义的ArrayList类
自定义MyArrayList类模拟Java ArrayList核心功能,支持泛型、动态扩容(1.5倍)、增删改查及越界检查,底层用Object数组实现,适合学习动态数组原理。
154 4
|
3月前
|
Java
Java语言实现字母大小写转换的方法
Java提供了多种灵活的方法来处理字符串中的字母大小写转换。根据具体需求,可以选择适合的方法来实现。在大多数情况下,使用 String类或 Character类的方法已经足够。但是,在需要更复杂的逻辑或处理非常规字符集时,可以通过字符流或手动遍历字符串来实现更精细的控制。
317 18
|
3月前
|
IDE JavaScript Java
在Java 11中,如何处理被弃用的类或接口?
在Java 11中,如何处理被弃用的类或接口?
235 5
|
3月前
|
JSON 网络协议 安全
【Java】(10)进程与线程的关系、Tread类;讲解基本线程安全、网络编程内容;JSON序列化与反序列化
几乎所有的操作系统都支持进程的概念,进程是处于运行过程中的程序,并且具有一定的独立功能,进程是系统进行资源分配和调度的一个独立单位一般而言,进程包含如下三个特征。独立性动态性并发性。
230 1
|
3月前
|
Java Go 开发工具
【Java】(8)正则表达式的使用与常用类分享
正则表达式定义了字符串的模式。正则表达式并不仅限于某一种语言,但是在每种语言中有细微的差别。
283 1
|
3月前
|
存储 Java 程序员
【Java】(6)全方面带你了解Java里的日期与时间内容,介绍 Calendar、GregorianCalendar、Date类
java.util 包提供了 Date 类来封装当前的日期和时间。Date 类提供两个构造函数来实例化 Date 对象。第一个构造函数使用当前日期和时间来初始化对象。Date( )第二个构造函数接收一个参数,该参数是从1970年1月1日起的毫秒数。
225 1
|
3月前
|
Java 编译器 Go
【Java】(5)方法的概念、方法的调用、方法重载、构造方法的创建
Java方法是语句的集合,它们在一起执行一个功能。方法是解决一类问题的步骤的有序组合方法包含于类或对象中方法在程序中被创建,在其他地方被引用方法的优点使程序变得更简短而清晰。有利于程序维护。可以提高程序开发的效率。提高了代码的重用性。方法的名字的第一个单词应以小写字母作为开头,后面的单词则用大写字母开头写,不使用连接符。例如:addPerson。这种就属于驼峰写法下划线可能出现在 JUnit 测试方法名称中用以分隔名称的逻辑组件。
242 4
|
3月前
|
JSON 网络协议 安全
【Java基础】(1)进程与线程的关系、Tread类;讲解基本线程安全、网络编程内容;JSON序列化与反序列化
几乎所有的操作系统都支持进程的概念,进程是处于运行过程中的程序,并且具有一定的独立功能,进程是系统进行资源分配和调度的一个独立单位一般而言,进程包含如下三个特征。独立性动态性并发性。
245 1
|
3月前
|
编解码 Java 开发者
Java String类的关键方法总结
以上总结了Java `String` 类最常见和重要功能性方法。每种操作都对应着日常编程任务,并且理解每种操作如何影响及处理 `Strings` 对于任何使用 Java 的开发者来说都至关重要。
335 5