首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

【C++】入门到精通第三弹——友元函数与静态成员

静态成员 成员一般都需要通过对象来访问,不可以通过名直接访问,但是当我们将成员定义为静态成员,则允许使用名直接访问。 静态成员是在成员前定义static关键字。...静态成员只有一份,同时,如果一个对象修改了静态成员,那么其他对象的静态成员也将改变(修改的是同一个静态成员静态成员可以是当前的类型,其他数据成员只能是当前的指针或应用类型,在定义成员时...,对于静态成员,其类型可以是当前的类型,而非静态·成员则不可以,除非数据成员的类型为当前的指针或引用类型。...,在定义成员函数时,可以为成员函数指定默认参数,其参数的默认也可以是静态成员,但是不同的数据成员不能作为成员函数的默认参数。...静态成员函数只能访问静态成员,而不能访问普通的数据成员。 而且静态成员函数不能定义为const成员函数,如果函数的实现代码位于体之外,则在函数的实现部分不能再标识static关键字。

21310

Object、常用API

Object obj = p2 = new Person("古力娜扎",18); 多态弊端:无法使用子类特有的内容(属性,方法) 解决:可以使用向下转型(强)把Object类型转换为Person *...也就是日期->文本)、解析(文本->日期) 成员方法: String format(Date date) 按照指定的模式,把Date日期,格式化为符合模式的字符串 Date parse(String source...作用: 格式化(也就是日期->文本)、解析(文本->日期) 成员方法: String format(Date date) 按照指定的模式,把Date日期,格式化为符合模式的字符串 Date parse(...public Date getTime():返回一个表示此Calendar时间历元到现在的毫秒偏移量)的Date对象。...成员方法的参数: int field:日历的字段,可以使用Calendar静态成员变量获取 public static final int YEAR = 1; 年 public static final

1.9K20
您找到你想要的搜索结果了吗?
是的
没有找到

【Java 入坑到放弃】No 3. 变量与数据类型

大到小强制。...即就是,对于低精度的数据类型,如果要转换为高精度的数据类型,直接将低精度的赋给高精度的即可; 但对于高精度的数据类型,如果想要转换为低精度的数据类型,则需要采用 强制转换 的手段,但此时需要承担精度丢失的风险...成员变量又可以分为 全局变量(又叫实例变量) 和 静态变量(也叫变量),两者的区别如下: 名称 修饰符 访问方式 生命周期 全局变量 无 对象名.变量名 一旦对象被引用,则实例变量就存在 静态变量.../ 成员变量,全局变量 int age; // 成员变量,静态变量 public static final String wechatPublic = "公众号:村雨遥";...// 成员变量,静态变量 public static final String website = "http://cunyu1943.site"; } 局部变量 成员变量指定义在方法或方法体中的变量

1.1K20

jQuery

text() 方法不写参数获取文本 text() 方法写参数设置文本 如果设置的文本中包含标签,是不会把这个标签给解析出来的$('#div1').text('我是新设置的文本我是链接...') //我是新设置的文本我是链接 css() 设置和获取样式 获取样式属性 $("#div1").css("width"); 设置的是行内样式$('#div1').css('...那么, (1).如果子类的 成员变量与父成员变量 的类型及名称都相同,则用sTest访问时,访问到的是子类的成员变量;用pTest访问时,访问到的是父成员变量; (2).如果子类的静态成员变量与父静态成员变量的类型及名称都相同...,则用sTest访问时,访问到的是子类的静态成员变量;用pTest访问时,访问到的是父静态成员变量; (3).如果子类的静态成员方法重写了父静态成员方法,则用sTest调用时,调用的是子类的静态成员方法...;用pTest调用时,调用的是父静态成员方法; (4).如果子类的成员方法重写了父成员方法,则用sTest调用时,调用到的是子类的成员方法;用pTest调用时,调用的也是子类的成员方法; (5)

1.1K20

01 Java 数据类型和变量

一定要注意变量属于哪个类型和它的取值范围 强制类型转换(小能默认大,大转小要用强) 强可以取某个实数的整数部分(int a = (int)12.34) 成员变量 定义在中,在整个中都可以被访问...成员变量随着对象的建立而建立,存在于对象所在的堆内存中。 成员变量有默认初始化静态成员变量(变量) 在定义 class 时,作为成员变量且加了static 关键字。...成员变量 / 变量(静态成员变量) 成员变量可添加修饰符,包括访问权限修饰符public、private、protected和非访问权限修饰符static、final、native等。...成员变量和静态成员变量(变量)的区别 两个变量的生命周期不同。    成员变量随着对象的创建而存在,随着对象的被回收而释放。    静态变量随着的加载而存在,随着的消失而消失。...成员变量只能被对象调用。 静态变量可以被对象调用,还可以被名调用。 数据存储位置不同。

87620

Java 中的变量与数据类型

大到小强制。...即就是,对于低精度的数据类型,如果要转换为高精度的数据类型,直接将低精度的赋给高精度的即可; 但对于高精度的数据类型,如果想要转换为低精度的数据类型,则需要采用 强制转换 的手段,但此时需要承担精度丢失的风险...成员变量又可以分为 全局变量(又叫实例变量) 和 静态变量(也叫变量),两者的区别如下: 名称 修饰符 访问方式 生命周期 全局变量 无 对象名.变量名 一旦对象被引用,则实例变量就存在 静态变量...成员变量,全局变量 int age; // 成员变量,静态变量 public static final String wechatPublic = "公众号:村雨遥";...// 成员变量,静态变量 public static final String website = "http://cunyu1943.site"; } 局部变量 成员变量指定义在方法或方法体中的变量

51930

No 3. 变量与数据类型

数据类型转换 对于基本数据类型,不同类型之间是可以相互转换的,但是需要满足一定的条件; 从小到大自动大到小强制。...即就是,对于低精度的数据类型,如果要转换为高精度的数据类型,直接将低精度的赋给高精度的即可; 但对于高精度的数据类型,如果想要转换为低精度的数据类型,则需要采用 强制转换 的手段,但此时需要承担精度丢失的风险...成员变量又可以分为 全局变量(又叫实例变量) 和 静态变量(也叫变量),两者的区别如下: 名称 修饰符 访问方式 生命周期 全局变量 无 对象名.变量名 一旦对象被引用,则实例变量就存在 静态变量...成员变量,全局变量 int age; // 成员变量,静态变量 public static final String wechatPublic = "公众号:村雨遥";...// 成员变量,静态变量 public static final String website = "http://cunyu1943.site"; } 局部变量 成员变量指定义在方法或方法体中的变量

2.2K20

最新Java面试题 每一题都是经典

JAVA的自动拆箱装箱 自动装箱就是将基本数据类型自动的转换为对应的对象包装类型; 拆箱就是将对象包装类型转换为基本数据类型。...什么是自动类型强,什么是强制类型转换 自动类型强  范围小的数据类型自动转为为范围大的数据类型 强制类型转换,范围大的数据类型需要强制转换为范围小的数据类型 一维数组的三种创建方式 数据类型[] 数组名...2.用于循环语句中,循环体内直接退出当前循环 continue用户跳过本次循环,执行下次循环 什么是面向对象 面向对象是一种编程思想。...继承:子类继承父就拥有了父所有的成员变量和成员方法。 多态:父引用,指向子类对象。...可以访问 private  私有的,本类中可以访问 静态变量和普通成员变量的区别 静态变量是被static修饰的变量,也称为变量,它属于,不属于的任何一个对象,一个不管创建多少个对象,静态变量在内存中有且仅有一个拷贝

87810

C++:特殊设计和四种类型转换

提供一个静态成员函数,在该静态成员函数中完成堆对象的创建。...所以这里必须通过静态成员函数的返回去构造堆对象。...这里有两个方案:一种是设置能静态成员函数(域调用),一种是设置成普通成员函数(对象自己调用)。...1、隐式类型转换:编译器在编译阶段自动进行,能,不能就编译失败。相近类型才可以进行隐式类型转换 ,比如int和double 他们本质上都是表示数据的大小。...因为派生会继承基的虚函数表,所以通过这个虚函数表,我们就可以知道该类对象的父,在转换的时候就可以用来判断对象有无继承关系。 所以虚函数对于正确的基指针转换为子类指针是非常重要的。

10110

C++中的四种类型转换运算符

int、int double、const 非 const、向上转型等;void 指针和具体类型指针之间的转换,例如void *int *、char *void *等;有转换构造函数或者类型转换函数的与其它类型之间的转换...换句话说,不能将 const/volatile 类型转换为非 const/volatile 类型。static_cast 是“静态转换”的意思,也就是在编译期间转换,转换失败的话会抛出一个编译错误。...将A*转换为int*,使用指针直接访问 private 成员刺穿了一个的封装性,更好的办法是让提供 get/set 函数,间接地访问成员变量。...从表面上看起来 dynamic_cast 确实能够向下转型,本例也很好地证明了这一点:B 和 C 都是 A 的派生,我们成功地将 pa A 类型指针转换成了 B 和 C 类型指针。...但是本质上讲,dynamic_cast 还是只允许向上转型,因为它只会向上遍历继承链。造成这种假象的根本原因在于,派生对象可以用任何一个基的指针指向它,这样做始终是安全的。

22420

Java核心基础小册

变量 以static修饰的成员变量叫变量(静态变量) 变量属于,它随的信息存储在方法去(1份),并不随对象存储在堆中。 变量可以通过名访问,也可以通过对象名来访问,建议通过名访问。...非静态内部类 非静态内部类中不可以定义任何静态成员; 非静态内部类 可以访问外部类的实例变量; 外部类的静态初始化块、静态方法不能访问非静态内部类; 同名的变量可以使用this....可以包含静态成员(理所应当),也可以包含非静态成员(反过来就不行)。...静态内部类不能访问外部类的实例成员,只能访问它的静态成员。...24 atan2() 将笛卡尔坐标转换为极坐标,并返回极坐标的角度。 25 toDegrees() 将参数转化为角度。 26 toRadians() 将角度转换为弧度。

1.1K10

Web前端面试敲重点知识,14个TypeScript核心基础面试题和答案

12、说说TypeScript 中 for 循环的不同变体 13、TypeScript 中控制成员可见性有几种方法 ? 14、TypeScript 支持静态吗 ?为什么 ?...string:表示文本,例如“javascript”、“typescript”等 number:表示数值,如 1、2、25、36 等 boolean:表示一个变量,它可以具有“真”或“假” image.png...我们使用数组来存储相同类型的,数组是有序和索引的集合 索引 0 开始,即第一个元素的索引为 0,第二个元素的索引为 1,依此类推 image.png 4、什么是 any 类型,何时使用 ?...有时你想将存储在变量中,但事先不知道该变量的类型 当你没有明确提供类型时,TypeScript假定变量是any类型,并且编译器无法周围的上下文中推断出类型 例如,该来自 API 调用或用户输入。...protected:受保护的成员仅对包含该成员的子类可见。不扩展容器的外部代码无法访问受保护的成员。 private:私有成员仅在内部可见,没有外部代码可以访问的私有成员

11.4K10

C++数据类型详解:基本类型到自定义类型

;     cout << "b的:" << b << endl;     return 0; } 六、类型 是C++中最重要的概念之一,也是一种自定义数据类型。...是一种抽象的数据类型,它定义了数据成员成员函数,以实现一些特定的功能。规定了数据成员的访问方式,成员函数支持函数重载和运算符重载,提供了很大的灵活性。...C++提供了强制类型转换的方法,可以将一种数据类型转换为另一种数据类型。...main() {     int a = static_cast(3.14);        // 将浮点数3.14换为整型     cout << "a的:" << a << endl...;     return 0; } 八、总结 本文对C++的数据类型进行了详细的阐述,基本数据类型到自定义数据类型,数组类型到类型,指针类型到引用类型。

45030

《逆袭进大厂》第三弹之C++提高篇79问79答

1) 生命周期 静态成员变量被加载开始到被卸载,一直存在; 普通成员变量只有在创建对象后才开始存在,对象结束,它的生命期结束; 2) 共享方式 静态成员变量是全共享;普通成员变量是每个对象单独享用的...; 3) 定义位置 普通成员变量存储在栈或堆中,而静态成员变量存储在静态全局区; 4) 初始化位置 普通成员变量在中初始化;静态成员变量在外初始化; 5) 默认实参 可以使用静态成员变量作为默认实参...比如从char转换为int。int->long。自定义对象 子类对象可以隐式的转换为对象。...This指针首先入栈,然后成员函数的参数右向左进行入栈,最后函数返回地址入栈。 153、你知道静态绑定和动态绑定吗?讲讲? 1) 对象的静态类型:对象在声明时采用的类型。是在编译期确定的。...1) 更加安全; 2) 更直接明显,能够一眼看出是什么类型转换为什么类型,容易找出程序中的错误;可清楚地辨别代码中每个显式的强制;可读性更好,能体现程序员的意图 176、成员函数里memset(this

2.2K30

Java 之数据类型

图1可以看出变量book1引用了Book的实例,book2没有引用任何对象,下面通过如下代码对book2变量进行赋值。...如上述程序,float型变量f的仍为12.345。 ② valueOf()方法为中的静态方法,可以通过包装直接进行调用,而xxxValue()是非静态方法,必须通过对象进行调用。...将基本数据类型转换为其包装还可以通过包装的构造方法进行转换,例如将int型整数129换为Integer类型: Integer num=new Integer(129) 各包装所具有的xxxValue...(2)JDK 1.5版本开始,允许包装和基本数据类型进行混合算术运算,并且能自动进行装箱与拆箱的操作。...不带参数的toString()方法为的非静态方法,所以必须通过对象进行调用,例如将一个Integer对象转换为字符串: Integer num=new Integer(321);

95630

Pc软件开发,aardio学习笔记,持续记录

每一个拥有独立的名字空间,名字空间中的变量也就是的公用静态成员。在内部,可以使用this对象引用动态创建的对象。...= this.value + v; return this.value; } } //打开的名字空间 namespace cls{ staticVar = "静态变量值...,使用三个连续的圆点表示任意个数、任意类型的参数 arg = { ... } _,如果在一个成员变量的前面加上下划线,则声明该变量的为只读,在赋值后不可修改 “”,"/",在 aardio 中文件路径如果以单个斜杆或反斜杆开始表示...7.全局成员 _ARGV ,解析后的进程启动参数表 _CMDLINE命令行参数的原始文本 call(),调用函数,可自定义owner对象 error,抛出一个异常。...editObject.clear,清空所有内容 editObject.print,将多个参数转换为字符串,并使用制表符分隔各参数追加到文本尾部,并追加换行 editObject.text,编辑控件文本属性

45130

【Java】常用API——日期时间、System

1.2 DateFormat java.text.DateFormat 是日期 / 时间格式化子类的抽象,我们通过这个可以帮我们完成日期和文 本之间的 换 , 也就是可以在 Date...格式化 :按照指定的格式, Date 对象转换为 String 对象。 解析 :按照指定的格式, String 对象转换为 Date 对象。...两个时间相减(当前时间 – 出生日期) 代码实现: 1.4 Calendar 概念 日历我们都见过 为静态成员变量,方便获取。日历就是方便获取各个时间属性的。...public Date getTime() :返回一个表示此 Calendar 时间历元到现在的毫秒偏移量)的 Date 对 象。...Calendar 中提供很多成员常量,代表给定的日历字段: get/set 方法 get 方法用来获取指定字段的, set 方法用来设置指定字段的,代码使用演示: add

1.3K20

【C++】特殊的设计 | 类型转换

创建 为了保证每次获取的都是同一个对象,就定义了一个静态类型的指针 _p 而静态成员变量,需要在外面初始化 ---- 在定义静态成员变量时 创建对象 ---- 此时也可添加add增加和print...,所以需要使用->去访问add或者print函数 ---- 还可以通过设置锁进行多线程间的安全访问 设置私有锁 ---- 由于getinstallce函数返回是一个静态的指针,所以无论是线程t1还是线程...函数之前就要申请,暂时不需要使用 就会造成 占用资源、程序启动会变慢受影响 2.若两个单例都是饿汉,并且有依赖关系,要求单例1先创建,单例2再创建,饿汉无法控制顺序,懒汉才可以 (两者是懒汉,则都是使用 成员静态指针进行...用于将一个父对象的指针/引用转换为子类对象的指针或引用(动态转换) 父作为上 ,子类作为下 ---- 向上转型:子类对象指针/引用->父指针/引用(不需要转换,赋值兼容规则) ---- 父对象是无法转换为子类对象的...---- 向下转型:父对象指针/引用->子类指针/引用(用dynamic_cast转型是安全的,直接强制转换是不安全的) A作为父,B作为子类 所以将p强制转换为B*,存在风险,如果B有自己的成员

16430

WPF版【路遥工具箱】免费开源啦!解决开发痛点,让你事半功倍!

RGB颜色转换:将RGB颜色换为十六进制或CSS颜色名称。 JSONC#实体:根据JSON数据生成C#实体。 JSONCSV:将JSON数据转换为CSV格式。...Postman数据转换:将Postman导出的数据转换为其他格式。 YamlJson:将Yaml格式的数据转换为Json格式。 文字工具 谷歌翻译:使用谷歌翻译API进行文本翻译。...多行拼接:将多行文本拼接为单行文本。 日志查看器:查看和分析日志文件。 全角半角转换:将全角字符转换为半角字符,或反之。 CSV查看器:查看和编辑CSV文件。...正则测试:测试正则表达式是否匹配指定的文本。 有道词典:在线查询单词的释义和翻译。 哈希计算器:计算文本的哈希。 编码互转:支持常见编码(如UTF-8、GBK、ISO-8859-1)之间的转换。...图片处理 图片图标:将图片转换为ICO图标。 Gif分割:将GIF动画分割为多个静态图片。 图片Base64:将图片转换为Base64编码。 Base64图片:将Base64编码转换为图片。

39630
领券