C++与Java的区别(一):重定义
来源:互联网 发布:网络正规兼职写手 编辑:程序博客网 时间:2024/06/11 20:53
重定义:子类重新定义父类中有相同名称的非虚函数 ( 参数列表可以不同 ) 。
例子:
//问题在C++中描述
#include<iostream>using namespace std;class A {public: void func() {cout << "A::func";}};class B :public A {public: void func(int a) {cout << "B::func";}};int main(){B* a = new B();a->func(); //c++中会出问题;;system("pause");}
由于类B中的func函数名会隐藏基类A的func,所以不能直接调用A中的func。
可以a->A::fun()进行调用。
//***************************************************************************************************************************
//同样的问题java中描述
public class Redefining {public static void main(String[] args) {class A {public void func() {System.out.println("A::func");}}class B extends A {public void func(int a) {System.out.println("B::func");}}B a=new B();//不会出问题,会输出“A::func”.a.func();}}
在Java中,不会隐藏,相当于重载。
如有问题,请指正。
0 0
- C++与Java的区别(一):重定义
- [C++]函数的重载、重写和重定义的区别
- C++_重载、重写和重定义的区别
- C++_重载、重写和重定义的区别
- C语言定义与声明的区别
- C语言定义与声明的区别
- 【C++】char* 与char []定义的区别
- c与c++的区别(一)
- C与C++的区别(一)
- Java,C#,C++数组定义的区别
- 【Java语法与C语言的区别】一
- Java Web技术(重定向与跳转的区别)
- JAVA转发与重定向的区别
- java 重定向与转发的区别
- java重定向与转发的区别
- Java中的线程(一)-线程的定义与创建
- JAVA与PHP的区别(一)
- java与c#的区别(一)
- 买糖ACM
- 西行漫记
- visual studio 编辑文本无法自动补全的解决方案
- overridePendingTransition设定两个activity之间的转场动画没有效果,但不报错! (大神帮帮我吧,代码如下,谢谢)
- 色生心中:人性化的HSL模型
- C++与Java的区别(一):重定义
- 零基础学习java(六)
- Trafodion性能优化之更新统计信息
- stm32中断
- centos 7.1 编译 BNC错误
- Python3中urllib详细使用方法
- Segmentation Driven Low-rank Matrix Recovery for Saliency Detection
- Matlab读取yahoo股票数据
- G笔记_Java基础(变量、基本类型、运算符和表达式-1)