C++重写实践&与java的差异
C++重写父类方法后,父类中同名的方法在子类中就无法被调用,回报这个问题:

java中是没有这个问题的,显然java设计者在设计的时候有意解决了这个问题。
C++实践代码:
#include <iostream>
using namespace std; class Father{ private:
int father1; public:
Father(){
this->father1 = ;
//cout<< "无参构造器"<<endl;
}
virtual ~Father(){
//cout<< "Father析构函数"<<endl;
}
int getFather1(){
cout<< "Father:getFather1()"<<endl;
return father1;
}
int getFather1(int a){
cout<< "Father:getFather1(int a)"<<endl;
return father1;
}
}; class Son : public Father{ private:
int son1; public:
Son(){
this->son1 = ;
}
~Son(){
//cout<< "Son析构函数"<<endl;
}
int getSon1(){
return son1;
} // 重写父类方法
int getFather1(){
cout<< "Son:getFather1()中调用重写的方法"<<endl;
return ;
} }; int main(){ cout << "方法重写实践:" << endl; // 调用无参构造器
Son son; // 调用son中重写的方法
cout << "son.getFather1():" << son.getFather1() << endl; // 调用父类同名的方法 【报错】
cout << "son.getFather1(int a):" << son.getFather1() << endl; cout << "方法重写实践 end." << endl; return ;
}
java实践代码:
package test.test;
class Father {
private int father1;
public Father() {
this.father1 = 11;
//cout<< "无参构造器"<<endl;
}
public int getFather1() {
System.out.println("Father:getFather1()");
return father1;
}
public int getFather1(int a) {
System.out.println("Father:getFather1(int a)");
return father1;
}
}
class Son extends Father {
private int son1;
public Son() {
this.son1 = 11;
}
public int getSon1() {
return son1;
}
// 重写父类方法
public int getFather1() {
System.out.println("Son:getFather1()中调用重写的方法");
return 100;
}
}
public class Main1 {
public static void main(String[] args) {
Son son = new Son();
// 调用son中重写的方法
son.getFather1();
// 调用父类被重写同名的方法,java中可以
son.getFather1(11);
System.out.println("end");
}
}
C++重写实践&与java的差异的更多相关文章
- 【原创】大叔经验分享(17)编程实践对比Java vs Scala
scala 官方地址 https://www.scala-lang.org/ 本文尽可能包含了一些主要的java和scala在编程实践时的显著差异,展现scala的代码的简洁优雅:scala通吃< ...
- 2018-2019-20175205 实验三敏捷开发与XP实践《Java开发环境的熟悉》实验报告
2018-2019-20175205 实验三敏捷开发与XP实践<Java开发环境的熟悉>实验报告 实验要求 没有Linux基础的同学建议先学习<Linux基础入门(新版)>&l ...
- Atitit 表达式原理 语法分析 原理与实践 解析java的dsl 递归下降是现阶段主流的语法分析方法
Atitit 表达式原理 语法分析 原理与实践 解析java的dsl 递归下降是现阶段主流的语法分析方法 于是我们可以把上面的语法改写成如下形式:1 合并前缀1 语法分析有自上而下和自下而上两种分析 ...
- atitit.泛型编程总结最佳实践 vO99 java c++ c#.net php
atitit.泛型编程总结最佳实践 vO99 java c++ c#.net php \ 1. 泛型历史 1 由来 1 2. 泛型的机制编辑 1 机制 1 编译机制 2 3. 泛型方法定义1::前定义 ...
- C++、Java语法差异对照表
C++.Java语法差异对照表 C++ and Java Syntax Differences Cheat Sheet First, two big things--the main function ...
- 2018-2019-2 20175306实验三敏捷开发与XP实践《Java开发环境的熟悉》实验报告
2018-2019-2 20175306实验三敏捷开发与XP实践<Java开发环境的熟悉>实验报告 实验内容 XP基础 XP核心实践 相关工具 实验要求 1.没有Linux基础的同学建议先 ...
- 2018-2019-20175329 实验三敏捷开发与XP实践《Java开发环境的熟悉》实验报告
2018-2019-20175329 实验三敏捷开发与XP实践<Java开发环境的熟悉>实验报告 实验要求 没有Linux基础的同学建议先学习<Linux基础入门(新版)>&l ...
- Atitit. 拉开拉链zip文件 最佳实践实施 java c# .net php
Atitit. 拉开拉链zip文件 的实现最佳实践 java c# .net php 1. Jdk zip 跟apache ant zip 1 2. Apache Ant包进行ZIP文件压缩,upzi ...
- java 导出 excel 最佳实践,java 大文件 excel 避免OOM(内存溢出) excel 工具框架
产品需求 产品经理需要导出一个页面的所有的信息到 EXCEL 文件. 需求分析 对于 excel 导出,是一个很常见的需求. 最常见的解决方案就是使用 poi 直接同步导出一个 excel 文件. 客 ...
随机推荐
- 微信小程序多video播放暂停问题
<swiper class="swiper" indicator-dots="{{indicatorDots}}" autoplay="{{fl ...
- 虚拟机Linux下扩展硬盘的方法
[原文链接]:http://blog.csdn.net/tianlesoftware/article/details/5642883 装虚拟机时空间划小了,于是又加了5G的空间,折腾了半天,挂上去了. ...
- Lua语言基本语法~运算符
Lua 变量 变量在使用前,必须在代码中进行声明,即创建该变量. 编译程序执行代码之前编译器需要知道如何给语句变量开辟存储区,用于存储变量的值. Lua 变量有三种类型:全局变量.局部变量.表中的域. ...
- Codeforces Manthan, Codefest 18 (rated, Div. 1 + Div. 2) E.Trips
比赛的时候想到怎么做了 没调出来(感觉自己是个睿智) 给你N个点M条边,这M条边是一条一条加进去的 要求你求出加入每一条边时图中极大'K度'子图的大小 极大'K度'子图的意思是 要求出一个有尽量多的点 ...
- lemon用法
zhx精讲用法: 首先,打开 柠檬图标. 只留g++ 然后按照这个路径进入c++找编译文件: 打开后点确定. 然后在你的试题中找到后缀为cdf的文件(为试题的全部信息),然后添加到试题中,然后把选手文 ...
- Mysql 查看连接数,状态及最大并发数(转载)
-- show variables like '%max_connections%'; 查看最大连接数 set global max_connections=1000 重新设置 mysql> ...
- k8sDeployment控制器
简写为deploy,是k8s控制器的另一种实现,它构建于ReplicaSet之上,可为pod和rs资源提供声明式更新. deploy控制器资源的大部分功能均可通过调用rs来实现,同时,还增添了部分特性 ...
- 如何使用git回退部分修改(转)
如何使用git回退部分修改(转) 很多时候,git新手容易误操作,比如,在levelIISZ-1.4.dev分支下,运行了git pull idc cpp-1.0的结果,这样做麻烦很大,经常导 ...
- Notepad++设置快捷键及外部命令
<NotepadPlus> <InternalCommands> <Shortcut id="41020" Ctrl="no" A ...
- electron+react项目改为typescript
1.添加typescript依赖 yarn add typescript 2.修改tsconfig.json "isolatedModules": true => " ...