在C++中,我们可以将类的对象作为参数传递,还可以像传递和返回其他变量一样从函数中返回它们;且不需要特殊的关键字或头文件。下面本篇文章就来带大家了解一下,希望对大家有所帮助。

1、将对象作为参数传递

要将对象作为参数传递,我们将对象名作为参数写入,同时调用函数,方法与对其他变量执行是相同的。

基本语法:函数名(对象名);

示例:#include

using namespace std;

class Example {

public:

int a;

// 此函数将对象作为参数

void add(Example E)

{

a = a + E.a;

}

};

int main()

{

// 创建对象

Example E1, E2;

// 两个对象的值都已初始化

E1.a = 50;

E2.a = 100;

cout << "初始值 \n";

cout << "对象1的值: " << E1.a

<< "\n对象2的值: " << E2.a

<< "\n\n";

// 将对象作为参数传递给函数add()

E2.add(E1);

// 传递给函数add()后

cout << "新值 \n";

cout << "对象1的值: " << E1.a

<< "\n对象2的值:" << E2.a

<< "\n\n";

return 0;

}

输出:初始值

对象1的值:50

对象2的值:100

新值

对象1的值:50

对象2的值:150

说明:在此示例中,有一个类具有一个整型变量“a”和一个以对象为参数的函数“add”。该add()函数由一个对象调用,另一个对象作为参数。在函数内部,将参数对象的整数值添加到调用'add'函数的整数值中。在这个方法中,我们可以将对象作为参数传递并更改它们;

注:add函数不返回任何值,因为其返回类型为void。

2、将对象作为参数返回

基本语法:object = return object_name;

示例:add函数返回“example”类型的对象(即类名),该对象的值存储在E3中。#include

using namespace std;

class Example {

public:

int a;

// 此函数将以对象为参数并返回对象

Example add(Example Ea, Example Eb)

{

Example Ec;

Ec.a = Ec.a + Ea.a + Eb.a;

// 返回对象

return Ec;

}

};

int main()

{

Example E1, E2, E3;

// 两个对象的值都已初始化

E1.a = 50;

E2.a = 100;

E3.a = 0;

cout << "初始值 \n";

cout << "对象1的值: " << E1.a

<< " \n对象2的值: " << E2.a

<< "\n对象3的值: " << E3.a

<< "\n\n";

//将对象作为参数传递给函数add()。

E3 = E3.add(E1, E2);

// 将对象作为参数传递后更改的值

cout << "新值 \n";

cout << "对象1的值: " << E1.a

<< " \n对象2的值: " << E2.a

<< " \n对象3的值: " << E3.a

<< "\n";

return 0;

}

输出:初始值

对象1的值:50

对象2的值:100

对象3的值:0

新值

对象1的值:50

对象2的值:100

对象3的值:200

说明:在这个例子中,我们可以看到两个方面,即我们如何传递对象以及返回它们。当对象E3调用add函数时,它传递另外两个对象,即E1和E2作为参数。在函数内部,声明了另一个对象,它计算所有三个变量的总和并将其返回给E3。

相关视频教程推荐:《C++教程》

以上就是本篇文章的全部内容,希望能对大家的学习有所帮助。更多精彩内容大家可以关注php中文网相关教程栏目!!!

php 对象方法作为参数,在C++中对象如何作为参数传递和返回?(代码示例)相关推荐

  1. python求1到n的乘积_Python如何计算列表中所有数字的乘积?(代码示例)

    在Python中如何将列表中所有数字相乘,然后返回乘积值.下面本篇文章就来给大家介绍三种将列表中的所有数字相乘.计算乘积值的方法,希望对大家有所帮助. 方法一:使用遍历 将变量product的值初始化 ...

  2. Python利用JPype调用Java对象方法【实现在Python中调用JAVA】

    一.JPype简述 1.JPype是什么? JPype是一个能够让 python 代码方便地调用 Java 代码的工具,从而克服了 python 在某些领域(如服务器端编程)中的不足. 2.JPype ...

  3. 【Groovy】集合遍历 ( 使用集合的 findAll 方法查找集合中符合匹配条件的所有元素 | 代码示例 )

    文章目录 一.使用集合的 findAll 方法查找集合中符合匹配条件的所有元素 1.闭包中使用 == 作为 findAll 方法的查找匹配条件 2.闭包中使用 is 作为 findAll 方法的查找匹 ...

  4. java 对象锁_个人对java中对象锁与类锁的一些理解与实例

    一  什么是对象锁 对象锁也叫方法锁,是针对一个对象实例的,它只在该对象的某个内存位置声明一个标识该对象是否拥有锁,所有它只会锁住当前的对象,而并不会对其他对象实例的锁产生任何影响,不同对象访问同一个 ...

  5. python中quad_python scipy integrate.quad用法及代码示例

    计算定积分. 使用Fortran库QUADPACK中的技术将func从a集成到b(可能是无限间隔). 参数: func:{function, scipy.LowLevelCallable}集成的Pyt ...

  6. java代码中加log_Java LogManager addLogger()用法及代码示例

    java.util.logging.LogManager的addLogger()方法用于在此LogManager实例中插入指定的Logger.该记录器必须是一个命名的记录器.如果尚不存在,则此方法会将 ...

  7. php 数组相乘,PHP如何计算数组中所有值的乘积?(代码示例)

    array_product()是PHP中的一个内置函数,它可以返回给定数组中所有数字的乘积.该函数接受一个仅由数字组成的数组.如果数组中除了数字之外还有其他数据,则函数返回0. 语法:array_pr ...

  8. RNN,LSTM中如何使用TimeDistributed包装层,代码示例

    本文介绍了LSTM网络中的TimeDistributed包装层,代码演示了具有TimeDistributed层的LSTM网络配置方法. 演示了一对一,多对一,多对多,三种不同的预测方法如何配置. 在对 ...

  9. python中的整型是什么意思_Python中整型的基本介绍(代码示例)

    本篇文章给大家带来的内容是关于Python中整型的基本介绍(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. Python中有以下几个基本的数据类型: 整数 int 字符串 ...

最新文章

  1. 全景分割 | Learning to Fuse Things and Stuff
  2. 混合SSVEP-P300 BCI生产双频SSVEP
  3. HTML基础(四):注释、URL参数、访问路径、图片地图
  4. Python解释器有哪些?Python解释器种类
  5. 记录一次nginx配置vhost的小bug
  6. google Chrome 浏览器源码地址地址!
  7. Golang——包引入和闭包
  8. JavaScript字符集编码与解码
  9. Matlab Tricks(二十六)—— 置乱(随机化)与恢复(shuffle/permutation restore)
  10. asyncio 文件io高并发_请问这个 asyncio 异步访问页面怎么写可以更加快?
  11. smartbi和mysql_学不好报表分析?看看Smartbi报表工具的学习笔记吧!
  12. win10多屏显示时分别设置壁纸
  13. Stata:因子变量全攻略-双向固定效应-超越对数生产函数
  14. windows 7 开机错误 未能连接到一个Windows服务
  15. dblp 数据库(mark)
  16. SwiftUI如何在动画完成时得到通知
  17. 电商项目超详细测试点整理(一)
  18. c语言如何产生彩票随机数,随机随机数(彩票概率原理)的详细说明
  19. 高德地图中隐藏Marker的标记
  20. Windows Server 2008文件服务器

热门文章

  1. Python:执行精确的浮点数运算
  2. 安徽理工学校计算机,安徽理工学校专业设置之计算机动漫与游戏制作专业简介...
  3. linux c语言中如何通过进程名获取进程PID(awk命令行指令)popen、pclose
  4. 线程的创建开销大吗?线程创建开销包括哪些?线程池
  5. 深入浅出python机器学习_6.3.1_随机森林实例——要不要和相亲对象进一步发展
  6. windows系统下的python环境的搭建
  7. PAT甲级题目翻译+答案 AcWing(高精度)
  8. X-Magic Pair gcd,剪枝(1600)
  9. dotnet安装包时找不到依赖关系_孩子总找妈妈,小心单方父母过渡依赖症,4个方法让父母更平等...
  10. SHA1加密(简单)