重载函数

Java相关知识2

|▌冷眼眸甩不掉的悲伤 提交于 2019-11-30 18:43:54
11、是否可以从一个static方法内部发出对非static方法的调用? 不可以。因为非static方法是要与对象关联在一起的,必须创建一个对象后,才可以在该对象上进行方法调用,而static方法调用时不需要创建对象,可以直接调用。也就是说,当一个static方法被调用时,可能还没有创建任何实例对象,如果从一个static方法中发出对非static方法的调用,那个非static方法是关联到哪个对象上的呢?这个逻辑无法成立,所以,一个static方法内部发出对非static方法的调用。 12、Integer与int的区别 int是java提供的8种原始数据类型之一。Java为每个原始类型提供了封装类,Integer是java为int提供的封装类。int的默认值为0,而Integer的默认值为null,即Integer可以区分出未赋值和值为0的区别,int则无法表达出未赋值的情况。 例如:要想表达出没有参加考试和考试成绩为0的区别,则只能使用Integer。在JSP开发中,Integer的默认为null,所以用el表达式在文本框中显示时,值为空白字符串,而int默认的默认值为0,所以用el表达式在文本框中显示时,结果为0,所以,int不适合作为web层的表单数据的类型。 在Hibernate中,如果将OID定义为Integer类型

动手动脑

巧了我就是萌 提交于 2019-11-30 16:41:56
这段代码主要讲述的是函数的重载,函数名字与功能都是相同的,就本代码而言其都是求变量的平方,此代码中里面的变量类型不同,还有两种可以实现重载的情况为变量个数不同或者变量个数与变量顺序不同,这三种情况都可实现重载。 第二点知识为:使用公式完成生成随机数的功能! package Day1; import java.io.InputStream; import java.util.Scanner; public class Random { public static void main(String[] args) { Scanner in = new Scanner(System.in); int a=0; int c=5; Integer x = new Integer(0); x=x.MAX_VALUE; System.out.println("请输入你想输出的随机数个数:"); int i = in.nextInt(); for(int j=0;j<i;j++) { c =(16807*c)%x; System.err.println(c); } } }   运行结果: 来源: https://www.cnblogs.com/yangxionghao/p/11604616.html

动手动脑的问题以及课后实验性的问题2

我们两清 提交于 2019-11-30 13:03:24
请看以下代码,你发现了有什么特殊之处吗? 1 // MethodOverload.java 2 // Using overloaded methods 3 4 public class DDD { 5 6 public static void main(String[] args) { 7 System.out.println("The square of integer 7 is " + square(7)); 8 System.out.println("\nThe square of double 7.5 is " + square(7.5)); 9 } 10 11 public static int square(int x) { 12 return x * x; 13 } 14 15 public static double square(double y) { 16 return y * y; 17 } 18 } 运行结果 发现重载函数参数类型不同返回的值也不同。 来源: https://www.cnblogs.com/125418a/p/11590251.html

嵌入式C++测试题

早过忘川 提交于 2019-11-30 10:30:18
仅供学习,为嵌入式帝国做亿分之一的贡献吧,临近国庆,祝大家国庆节快乐哦 答案仅供参考吧 一、 选择题(共 80 分, 每题 2 分 ) ( 1 ) A ( 2 ) C ( 3 ) C ( 4 ) B ( 5 ) D ( 6 ) C ( 7 ) C ( 8 ) D ( 9 ) A ( 10 ) C ( 11 ) A (12) B (13) D (14) B (15) A ( 16 ) A ( 17 ) C ( 18 ) D ( 19 ) D ( 20 ) C ( 21 ) C ( 22 ) D ( 23 ) D ( 24 ) D ( 25 ) A ( 26 ) C (27) C (28) C (29) B (30) B ( 31 ) A ( 32 ) D ( 33 ) D ( 34 ) B ( 35 ) A ( 36 ) A ( 37 ) B ( 38 ) B ( 39 ) C ( 40 ) C 二、 填空题(每空 1 分, 共 20 分) 1. 构造函数 2. friend 保护和私有成员 3. 先基类在派生类 4. 单一继承 5. virtual 6. 静态多态性 动态多态性 7. 抽象类 8. 测试是否文件尾 9. 成员函数 10. try throw catch 11. 代码复用和泛型程序设计 12. 类的友元函数 13. 抛出异常 捕捉异常 14. template 15.

GDIPlus的使用准备工作

痴心易碎 提交于 2019-11-30 09:47:13
GDIPlus的使用 stdafx.h 加入如下代码: #include <comdef.h>//初始化一下com口 #include "GdiPlus.h" using namespace Gdiplus; #pragma comment(lib,"gdiplus.lib") 开始初始化: 在app类的声明里(.h)加入: ULONG_PTR m_gdiplusToken; InitInstance()里, 在DoModal()函数的前面, 加入://若没有usingnamespace Gdiplus; 就要在前面加Gdiplus:: GdiplusStartupInput gdiplusStartupInput; GdiplusStartup(&m_gdiplusToken, &gdiplusStartupInput, NULL); 重载ExitInstance,加入GdiplusShutdown(m_gdiplusToken); int CxxxApp::ExitInstance() { // TODO: 在此添加专用代码和/或调用基类 GdiplusShutdown(m_gdiplusToken); return CWinApp::ExitInstance(); } 使用GDIPlus的准备工作完成了! 参考链接: https://blog.csdn.net

sort 与 priority_queue

瘦欲@ 提交于 2019-11-30 04:28:09
简介: C++中的sort函数默认是将元素升序排列的, 而priority_queue默认是将元素降序排列的(默认实现的是大顶堆)。 一、自定义运算符 以下2种对sort和priority_queue运算符的重载都有效,效果都是一样的。 代码: #include <iostream> #include <vector> #include <algorithm> #include <queue> using namespace std; //sort实现的都是先按a值降序排列,a相同时,按b值降序排列 //priority_queue和sort的默认排序相反,实现的都是先按a值升序排列,a相同时,按b值升序排列 //重载方式一: struct Node { int a, b; Node(int x, int y) { a = x; b = y; } bool operator < (const Node &c) const { if(a == c.a) return b > c.b; return a > c.a; } }; //重载方式二:注意要有public // class Node { // public: // int a, b; // Node(int x, int y) { // a = x; // b = y; // } // bool operator <

面向对象——成员

柔情痞子 提交于 2019-11-30 04:22:45
属 性 是什么 属 性:对应类中的成员变量 Field = 属性 = 成员变量, 语法格式: 修饰符 类型 属性名 = 初值 ; 说明 : 修饰符 private: 该属性只能由该类的方法访问。 修饰符 public: 该属性可以被该类以外的方法访问。 类型:任何基本类型,如 int 、 boolean 或任何类。 举例: public class Person{ private int age; // 声明 private 变量 age public String name = “Lila”; // 声明 public 变量 name } 成员变量 ( 或属性 ) vs 局部变量 1. 相同点: ① 声明的格式是相同的:数据类型 变量名 = 初始化值 ② 先声明,后使用 ③ 变量都有作用域。 2. 不同点: ① 类中声明的位置的不同。 成员变量:在类的一对 {} 内直接声明的变量 局部变量:方法内声明的,方法的形参位置声明的,构造器内声明的,代码块内声明的都是局部变量。 ② 成员变量可以在数据类型前声明权限修饰符,而局部变量是不可以声明权限修饰符的。 补充:权限修饰符有哪些? public 、 private 、 protected 、缺省 ③ 成员变量:声明时,有默认初始化值。也就是说,我们在定义成员变量时,可以不显式的赋值。 整型: byte 、 short 、 int 、

类中的函数重载

会有一股神秘感。 提交于 2019-11-30 02:16:34
目录 1. 函数重载回顾 2. 类中的函数重载 1. 函数重载回顾 函数重载的 本质为相互独立的不同函数 C++通过 函数名 和 函数参数 确定函数调用 无法 直接通过 函数名 得到重载函数的 入口地址 函数重载 必然发生在同一个作用域中 2. 类中的函数重载 类的成员函数可以进行重载,包括 构造函数的重载 普通成员函数的重载 静态成员函数的重载 注意:函数重载必然发生在同一个作用域中,因此全局函数和类的成员函数无法构成重载。 #include <stdio.h> class Test { int i; public: Test() { printf("Test::Test()\n"); this->i = 0; } Test(int i) { printf("Test::Test(int i)\n"); this->i = i; } Test(const Test &obj) { printf("Test(const Test& obj)\n"); this->i = obj.i; } static void func() { printf("void Test::func()\n"); } void func(int i) { printf("void Test::func(int i), i = %d\n", i); } int getI() { return i; } };

C++:Overload

怎甘沉沦 提交于 2019-11-29 22:14:28
重载 函数签名是指函数的参数个数,参数类型以及参数的顺序。重载的定义是: 在同一作用域内函数签名不同但函数名相同的函数互为重载 。 // 以下几个函数互为重载 void print(); void print(int a); void print(double a, int b); void print(int a, double b); void print(string a, double b); 参数的不同也可以是通过 const 区分的。 // 以下两个函数同样形成函数重载 void print(int &a); void print(const int &a); // 声明成员函数为const即指定this指针为const,同样可以构成重载 class LiF { public: void print(); void print() const; }; 函数的形参名不同或返回值类型不同并不构成重载,并且编译报错,因为这类函数被编译器识别为相同函数。 // 重定义print,编译报错 void print(int a); void print(int b); // 重定义print,编译报错 void print(int a); int print(int a); 重载是如何实现的 在C++的编译期,编译器会根据参数列表对函数进行重命名

c++语法之为什么有函数重载,如何使用

…衆ロ難τιáo~ 提交于 2019-11-29 19:27:18
为什么要使用函数重载 先附上我 立知的结果 。 1、减少对用户的复杂性。 2、这样做减少了函数名的数量,避免了名字空间的污染,对于程序的可读性有很大的好处。 重载函数是函数的一种特殊情况,为方便使用,C++允许在同一范围中声明几个功能类似的同名函数,但是这些同名函数的形式参数(指参数的个数、类型或者顺序)必须不同,也就是说用同一个运算符完成不同的运算功能。这就是重载函数。重载函数常用来实现功能类似而所处理的数据类型不同的问题。 作用一:减少对用户的复杂性 这点是很好理解的,为了方便开发,若具有相同功能但针对类型不同的函数过多,就会导致编程人员存在过多的时空花销。但是针对用户,我就也不太清楚了。 作用二 列出一下几个求和函数: sum(int a,int b) //不写返回类型,返回整型 double sum(double a,double b) float sum(floata,float b,float c) 针对下面的语句是不同的调用 int x=sum(2,8); float y=sum(5.6,11.1); float z=sum(float(x),y,5); 顺带就说下 重载函数的要求 : 当调用到重载函数时,编译器根据实参的类型对应地调用相应的函数。匹配过程按如下步骤进行: (1)如果有参数严格匹配(参数个数、类型完全一致)的函数,就调用该函数; (2