易截截图软件、单文件、免安装、纯绿色、仅160KB

C/C++与Java函数重载区别!

#include <iostream>
using namespace std;
class Base {
public:
virtual void fn(int x) {
cout << "In Base class, int x = " << x << endl;
}
};
class SubClass : public Base {
public:
// 函数的重载,这样的重载方式,在Java中能行,在C/C++中却不行
virtual void fn(float x) {
cout << "In SubClass, float x = " << x << endl;
}
};
void test(Base& b) {
int i = 1;
b.fn(i);
float f = 2.0;
b.fn(f);
}
int main() {
Base bc;
SubClass sc;
cout << "Calling test(bc)\n";
test(bc);
cout << "Calling test(sc)\n";
test(sc);
return 0;
}
Calling test(bc)
In Base class, int x = 1
In Base class, int x = 2
Calling test(sc)
In Base class, int x = 1
In Base class, int x = 2
运行成功(总计时间: 312毫秒)
注意,都是调用的父类中的函数.
package cn.vicky;
public class MyTest {
public void add(int i) {
System.out.println("in parent");
}

public static void main(String[] args) {
MyTest2 m2 = new MyTest2();
m2.add(1);
m2.add(1.1);
}
}
class MyTest2 extends MyTest {
public void add(double i) {
System.out.println("in child");
}
}
  
in parent
in child
Java却可以区分...


相关文档:

java面试问题集锦

        我们为什么要去面试 ? 面试的目的是什么 ?
        面试要解决哪几个问题 ?
 
一、面试的目的
二、面试前的准备
三、面试常见问题解答
      A、项目经理常见问题
     B ......

java 访问access


import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class LinkAccess {
    /**
     * @param args
     */
    public stat ......

c/c++内存划分

一、一个经过编译的C/C++的程序占用的内存分成以下几个部分:
  1、栈区(stack):由编译器自动分配和释放 ,存放函数的参数值、局部变量的值等,甚至函数的调用过程都是用栈来完成。其操作方式类似于数据结构中的栈。
  2、堆区(heap) :一般由程序员手动申请以及释放, 若程序员不释放,程序结束时可能由OS回收 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号