拷贝构造函数4.匿名对象

#include <iostream>

using namespace std;

class Locaton
{
public:
	Locaton(int xxx = 0, int yy = 0)
	{
		X = xx;
		Y = yy;
		cout << "constructor Object!" << endl;
	}

	Locaton(const Locaton &p)
	{
	 	X = p.x;
	 	Y = p.y;
	 	cout << "Cpoy constructor called!" << endl;
	}

	~ Locaton()
	{
		cout << X << "," << "Object destoryed!" << endl;
	}

	int GetX()
	{
		return X;
	}

	int GetY()
	{
		return Y;
	}

private:
	int X;
	int Y;
	
};

void f(Locaton p)
{
	cout << "Function:" << p.GetX() << "," << p.GetY() << endl;
}

//函数的返回值是一个对象,返回的是一个新的匿名对象,所以会调用匿名对象类的拷贝构造函数
//匿名对象的去留:如果用匿名对象初始化另外一个同类型的对象,那么匿名对象,直接转成有名对象,
//如果用匿名对象赋值给另外一个同类型的对象,匿名对象被析构

//如下代码的编写,编译器会返回一个新对象(没有名字,匿名对象)
Locaton g()
{
	Locaton A(1, 2);
	return A; //调用类的拷贝构造函数
}

void mainobjplay() 
{
	//若返回的匿名对象,赋值给另外一个同类型的对象,那么匿名对象会被析构
	//Locaton B;
	//B = g();//用匿名对象赋值给B对象,然后匿名对象析构

	//若返回的匿名对象,来初始化一个同类型的对象,那么匿名对象会直接转成新的对象
	Locaton B = g();


}

void main(int argc, char const *argv[])
{
	
	mainobjplay();

	return 0;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Java2核心技术第I卷.基础知识 目录: 译者序 前言 第1章Java程序设计概述 1.1 Java程序设计平台 1.2 Java“白皮书”的关键术语 1.2.1简单性 1.2.2面向对象 1.2. 3分布式 1. 2.4健壮性 1. 2.5安仝性 1. 2.6体系结构中立 1.2.7可移植性 1.2.8解释型 1.2.9高性能 1.2.10多线程 1.2.11动态性 1. 3 Java与Internet 1. 4 Java发展简史 1.5关于Java的常见误解 第2章Java程序设计环境 2.1安装Java开发工具箱 2.1.1下载JDK 2.1.2设置执行路径 2.1.3安装库源代码和文档 2.1.4安装本书中的示例 2.1.5导航Java目录 2.2选择开发环境 2.3使用命令行工具 2.4使用集成开发环境 2.5使用文本编辑器编译并运行程序 2.6运行图形化应用程序 2.7建立并运行applet 第3章Java基本的程序设计结构 3.1一个简单的Java应用程序 3.2注释 3.3数据类型 3.3.1整型 3.3.2浮点型 3.3.3 char类型 3.3.4 boolean类型 3.4变量 3.4.1初始化变量 3.4.2常量 3.5运算符 3.5.1自增运算符与自减运算符 3.5.2关系运算符与boolean运算符 3.5.3位运算符 3.5.4数学函数与常量 3.5.5数值类型之间的转换 3.5.6强制类型转换 3.5.7括号与运算符级别 3.5.8枚举类型 3.6字符串 3.6.1代码点与代码单元 3.6.2子串 3.6.3字符串编辑 3.6.4拼接 3.6.5检测字符串是否相等 3.6.6阅读联机API文档 3.7输入输出 3.7.1读取输入 3.7.2格式化输出 3.8控制流程 3.8.1块作用域 3.8.2条件语句 3.8.3循环 3.8.4确定循环 3.8.5多重选择――switch语句 3.8.6中断控制流程语句 3.9大数值 3.10数组 3.10.1 “for each”循环 3.10.2数组初始化器以及匿名数组 3.10.3数组拷贝 3.10.4命令行参数 3.10.5数组排序 3.10.6多维数组 3.10.7不规则数组 第4章对象与类 4.1面向对象程序设计概述 4.1.1 OOP词汇表 4.1.2对象 4.1.3类之间的关系 4.1.4 00P与传统的过程化程序设计技术对比 4.2使用现有类 4.2.1对象与对象变量 4.2.2 Java库中的GregorianCalendar类 4.2.3更改器方法与访问器方法 4.3用户自定义类 4.3.1一个Employee类 4.3.2多个源文件的使用 4.3.3解析Employee类 4.3.4从构造器开始 5.2.2相等测试与继承 5.2.3 hashCode方法 5.2.4 toString方法 5.3泛型数组列表 5.3.1访问数组列表元素 5.3.2类型化与原始数组列表的兼容性 5.4对象包装器与自动打包 5.5反射 5.5.1 Class类 5.5.2使用反射分析类的能力 5.5.3在运行时使用反射分析对象 5.5.4使用反射编写通用的数组代码 5.5.5方法指针 5.6枚举类 5.7继承设计技巧 第6章接口与内部类 6.1接口 6.1.1接口的特性 6.1.2接口与抽象类 6.2对象克隆 6.3接口与回调 6.4内部类 6.4.1使用内部类访问对象状态 6.4.2内部类的特殊语法规则 6.4.3内部类是否实用、必要和安全 6.4.4局部内部类 6.4.5匿名内部类 6.4.6静态内部类 6.5代理 第7章图形程序设计 7.1 Swing概述 7.2创建框架 7.3框架定位 7.4在面板中显示信息 7.5 2D图形 7.6颜色 7.7为文本设定特殊字体 7.8图像 第8章事件处理 8.1、事件处理基础 8.1.1实例:处理按钮点击事件 8.1. 2建议使用内部类 8.1. 3将组件变成事件监听器 8.1.4实例:改变观感 8.1.5实例:捕获窗口事件 8.2 AWT事件继承层次 8.3 AWT的语义事件和低级事件 8.4低级事件类型 8.4.1键盘事件 8.4.2鼠标事件 8.4.3焦点事件 8.5动作 8.6多点传送 8.7实现事件源 第9章swing用户界面组件 9.1模型一视图一控制器设计模式 9.2布局管理器慨述 9.2.1边界布局 9.2.2面板 9.2.3网格布局 9.3文本输入 9.3.1文本域 9.3. 2标签与标签组件 9.3 3文本域变化跟踪 9.3.4密码域 9.3.5格式化的输入域 9.3.6文本区 9.4选择组件 9.4.1复选框 9.4.2单选按钮 9.4.3边界 9.4.4组合框 9.4.5滑块 9.4.6 JSpinner组件 9.5菜单 9.5.1菜单创建 9.5.2菜单项中的图标 9.5.3复选框和单选按钮菜单项 9.5.4弹出菜单 9.5.5快捷键和加速器 9.5.6启用和禁用菜单项 9.5.7工具栏 9 5.8工具提示 9.6复杂的布局管理 9.6.1箱式布局 9.6.2网格组布局 9.6.3弹簧布局 9.6.4不使用布局管理器 9.6.5定制布局管理器 9 6.6遍历顺序 9.7对话框 9.7.1选项对话框 9.7.2创建对话框 9.7.3数据交换 9.7.4文件对话框 9.7.5颜色选择器 第10章部署applet和应用程序 10.1 applet基础 10. 1. 1一个简单的applet 10.1. 1.2查看applet 10.1.3将应用程序转换为applet lO.1.4 applet的生命周期 10.1.5安全基础 10.1.6 applet中的弹出式窗口 10.2 applet的HTML标记和属性 11.5.1启用和禁用断言 11.5.2使用断言的建议 11.6调试技术 11. 6.1调试的常用技巧 11.6.2使用控制台窗口 11.6_3跟踪AWT事件 11.6.4 AWT的Robot类 11.7使用调试器 11.7.1 JDB调试器 11.7.2 Eclipse调试器 第12章流与文件 12.1流 12.2完整的流结构 12.2.1流过滤器的分层 12.2.2数据流 12.2.3随机存取文件流 12.2.4文本流 12.2.5字符集 12.2.6文本输出 12.2.7文本输入 12.3 ZIP文件流 12.4流的使用 12.4.1分隔符输出 12.4.2字符串记号处理器和带分隔符的文本 12.4.3读取带允隔符的输入 12.4.4 StringBuilder类 12.4.5随机存取流 12.5对象流 12.5.1存储可变类型的对象 12.5.2理解对象序列化文件格式 12.5.3保存对象引用问题的解决 12.5.4理解对象引用的输出格式 12.5.5修改默认的序列化机制 12.5.6单元素与类型安全枚举的序列化 12.5.7版本 12.5.8使用序列化进行克隆 12.6文件管理 12.7新的I/O 12.7.1内存映射文件 12.7.2缓冲区数据结构 12.7.3文件锁定 12.8正则表达式 13章泛型程序设计 13.1为什么要使用泛型程序设计 13.2简单泛型类的定义 13.3泛型方法 13.4类型变量的限定 13.5泛型代码和虚拟机 13.5.1翻译泛型表达式 13.5.2翻译泛型方法 13.5.3调用遗留代码 13.6约束与局限性 13.6.1基本类型 13.6.2运行时类型查询 13.6.3异常 13.6.4数组 13.6 5泛型类型的实例化 13.6 6静态上下文 13.6.7擦除后的冲突 13.7泛型类型的继承规则 13.8通配符类型 13.8.1通配符的超类型限定 13.8.2无限定通配符 13.8 3通配符捕获 13.9反射和泛型 13.9.1使用Class参数进行类型匹配 13.9. 2虚拟机中的泛型类型信息 附录AJava关键字 附录B更新的JDK 5.0代码 Java2核心技术II卷.高级特性 目录: 译者序 前言 第1章 多线程 1.1 什么是线程 1.2 中断线程 1.3 线程状态 1.4 线程属性 1.5 同步 1.6 阻塞队列 1.7 线程安全的集合 1.8 Callable和Future 1.9 执行器 1.10 同步器 1.11 线程和Swing工作器 第2章 集合 2.1 集合接口 2.2 具体的集合 2.3 集合框架 2.4 算法 2.5 遗留下来的集合 第3章 网络 3.1 连接到服务器 3.2 实现服务器 3.3 发送E-Mail 3.4 建立URL连接 3.5 高级套接字编程 第4章 数据库编程 4.1 JDBC的设计 4.2 结构化查询语言 4.3 安装JDBC驱动程序类型 4.4 JDBC的典型用法 4.5 执行查询操作 4.6 可滚动和可更新的结集 4.7 元数据 4.8 行集 4.9 事务 4.10 高级连接管理 4.11 LDAP概述 第5章 分布式对象 5.1 客户与服务器的角色 5.2 远程方法调用 5.3 配置远程方法调用 5.4 远程方法中的参数传递 5.5 服务器对象激活 5.6 JavaIDL与CORBA 5.7 远程方法调用与SOAP 第6章 高级Swing 第7章 高级AWT 第8章 JavaBean构件 第9章 安全 第10章 国际化 第11章 本地方法 第12章 XML 第13章 注释
提供的源码资源涵盖了小程序应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 适合毕业设计、课程设计作业。这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。 所有源码均经过严格测试,可以直接运行,可以放心下载使用。有任何使用问题欢迎随时与博主沟通,第一时间进行解答!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

洪流之源

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值