iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >C++中的自定义函数返回类型
  • 390
分享到

C++中的自定义函数返回类型

C++自定义函数自定义函数返回类型C++函数返回类型 2022-11-13 19:11:25 390人浏览 泡泡鱼
摘要

目录c++自定义函数返回类型知识点小结C++函数返回值是自定义类型情况1 返回值是自定义类的非引用类型2 返回值是自定义类的引用类型C++自定义函数返回类型 知识点小结 C++的基本

C++自定义函数返回类型

知识点小结

C++的基本数据类型限制了函数的返回类型,其不像python一样可以直接返回一个list,list里面可以包含多个想要返回的内容。

为了能够让C++的函数返回类型也可以不受数量上限制,我们可以先定义一个我们希望的数据类型的类或者结构体。

如果使用类的话,该类当中只包含成员变量和构造函数。

下面我们定义一个同时返回一个数字和一个字符串的数据类型。

具体代码如下:

#include <iOStream>
using namespace std;
 
//通过设置一个只有构造函数的类,建立一个自定义的返回值类型
class Returndata
{
public:
  int id;
  string name;
 
public:
  Returndata(int id, string name)
  {
    this->id = id;
    this->name = name;
  }
};
 
Returndata createdata(int id, string name)
{
  Returndata newdata(id, name);
 
  return newdata;
}
 
 
int main()
{
  Returndata a = createdata(1, "bob");
  cout << a.id << " " << a.name << endl;
  return 0;
}

也可以使用结构体,代码如下:

struct Returndata
{
  int id;
  string name;
};
 
Returndata createdata(int id, string name)
{
  //Returndata newdata(id, name);
  Returndata newdata = {id, name};
  //newdata.id = id;
  //newdata.name = name; 
  return newdata;
} 
 
int main()
{
  Returndata a;
  a = createdata(1, "bob");
  cout << a.id << " " << a.name << endl;
  return 0;
}

C++函数返回值是自定义类型情况

在C++中,函数的返回值是自定义类型的情况主要分为两种,一种是非引用类型的自定义类;另一种是引用类型的自定义类。

1 返回值是自定义类的非引用类型

在这种情况下,使用该类拷贝构造函数,根据返回值来创建该类的新的对象。

class Person { 
Person(int age) {//构造函数 
cout << "param constructor!" << endl; 
mAge = age; 
}
 
public: 
Person(const Person& person) { //拷贝构造函数 
mAge = person.mAge; 
}
 
public: 
int mAge; 
};
 
Person MyFunc() {//返回值为非引用自定义类的函数 
Person q(10); 
return q; 
}

此时,使用如下代码调用MyFunc()函数

Person p = MyFunc();

在MyFunc()函数返回了Person类的变量q之后,会调用Person的拷贝构造函数,将q的值拷贝给p。需要注意的是,以上代码并没有调用Person类的赋值表达式。即使不处理MyFunc()函数的返回值,直接调用MyFunc()函数

MyFunc();

此时依然会调用Person的拷贝构造函数,只是此时使用Person的拷贝构造函数将q的值拷贝给一个临时变量。

2 返回值是自定义类的引用类型

当函数的返回值是自定义类的引用类型时

Person& MyFunc() {//返回值为引用自定义类的函数 
Person q(10); 
return q; 
}

如果不对MyFunc()函数的返回值进行处理,

MyFunc();

此时,不会调用Person类的拷贝构造函数。而将对MyFunc()函数的返回值赋值给其它对象,

Person p = MyBusiness();

此时依然会调用Person类的拷贝构造函数。 

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。

--结束END--

本文标题: C++中的自定义函数返回类型

本文链接: https://www.lsjlt.com/news/170877.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • C++中的自定义函数返回类型
    目录C++自定义函数返回类型知识点小结C++函数返回值是自定义类型情况1 返回值是自定义类的非引用类型2 返回值是自定义类的引用类型C++自定义函数返回类型 知识点小结 C++的基本...
    99+
    2022-11-13
    C++自定义函数 自定义函数返回类型 C++函数返回类型
  • C#中怎么自定义类型转换函数
    C#中怎么自定义类型转换函数,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。/// <summary>  /// 将字符型...
    99+
    2023-06-18
  • python-自定义函数(定义调用、默认参数、返回值)
    python-自定义函数 文章目录 python-自定义函数初识函数函数的定义与调用函数的定义:参数列表:函数体:函数调用 默认参数定义默认参数:默认参数的使用:默认参数的位置:默认参数...
    99+
    2023-09-10
    python 开发语言 numpy
  • PHP函数的返回值类型和返回值说明
    PHP是一种类型松散的编程语言,这意味着它允许开发人员在运行时更轻松地修改变量类型。但是,在编写函数时,开发人员必须清楚函数的返回类型和返回值说明,以确保函数将返回正确的数据类型和结构。PHP函数的返回值类型在5.0版本之前,PHP函数无法...
    99+
    2023-05-18
    PHP函数 返回值类型 返回值说明
  • C++返回函数指针的定义方式是什么
    这篇文章主要介绍“C++返回函数指针的定义方式是什么”,在日常操作中,相信很多人在C++返回函数指针的定义方式是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C++返回函数指针的定义方式是什么”的疑惑有所...
    99+
    2023-06-04
  • mysqli_query($conn, $sql)函数的返回值类型
    本篇文章给大家分享的是有关mysqli_query($conn, $sql)函数的返回值类型,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。一、...
    99+
    2022-10-18
  • golang 函数返回chan类型的操作
    在阅读kafka的golang 客户端代码sarama-cluster时,遇到了如下一段代码: // Messages returns the read channel for ...
    99+
    2022-11-12
  • python中函数的返回值及类型详解
    目录1.返回值介绍2.带有返回值的函数3.保存函数的返回值4.四种函数的类型1.无参数,无返回值的函数2.无参数,有返回值的函数3.有参数,无返回值的函数4.有参数,有返回值的函数5...
    99+
    2023-05-14
    python函数返回值 python 返回值类型
  • linux shell自定义函数(定义、返回值、变量作用域)介绍
    一、定义shell函数(define function) 语法:[ function ] funname [()] { action; [return int;] } 说明: 1、可以带fu...
    99+
    2022-06-04
    自定义 变量 函数
  • linux shell 自定义函数方法(定义、返回值、变量作用域)
    一、定义shell函数(define function) 语法: [ function ] funname [()] { action; [return int;] } 说明: 1、可以带funct...
    99+
    2022-06-04
    自定义 变量 函数
  • C语言中自定义类型详解
    目录结构大小offsetof结构体对齐规则存在原因总结结构大小 我们先随便给出一个结构体,为了计算他的大小,我给出完整的打印方案: typedef struct num { cha...
    99+
    2022-11-13
  • 如何定义C++中的C++数据类型
    这篇文章给大家介绍如何定义C++中的C++数据类型,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。着重介绍C++数据类型,C++中的C++数据类型定义编译器在内存中存放信息的方式,在不同的开发环境中,可以向变量赋予任何数...
    99+
    2023-06-17
  • C++自定义数据类型方法详情
    目录1、typedef声明2、枚举类型enum1、typedef声明 typedef用于给已有的类型一个新的名字,这个新的名字可以是自己定义的, 其语法为: typedef 现有类型...
    99+
    2022-11-13
  • C++11模板函数与返回类型后置举例分析
    这篇文章主要介绍“C++11模板函数与返回类型后置举例分析”,在日常操作中,相信很多人在C++11模板函数与返回类型后置举例分析问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C++11模板函数与返回类型后置举...
    99+
    2023-06-19
  • C语言中的自定义类型是什么
    C语言中的自定义类型是什么,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。结构大小我们先随便给出一个结构体,为了计算他的大小,我给出完整的打印方案:typedef st...
    99+
    2023-06-28
  • C++中的函数返回值问题
    目录1、返回值2、指针类型的函数——返回指针3、返回引用4、综合示例首先,强调一点,和函数传参一样,函数返回时也会做一个拷贝。 从某种角度上看,和传参一样,也...
    99+
    2022-11-13
  • 怎么在C语言中自定义类型
    本篇文章为大家展示了怎么在C语言中自定义类型,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。一、初始结构体结构是一些值的集合,这些值称为成员变量。结构的每个成员可以是不同类型的变量。下面举一个例子:s...
    99+
    2023-06-08
  • C#中的预定义类型与引用类型
    一、预定义的值类型 一个字节(1Byte)=8位(8Bit) BitArarry类可以管理位Bit。 1、整型 所有的整形变量都能用十进制或十六进制表示:long a=0x...
    99+
    2022-11-13
  • MyBatis在DAO层定义接口返回类型泛型无效的解决
    MyBatis DAO层定义接口返回类型泛型无效 今天很偶然的因为一次粗心而发现的一个mybatis问题,这里就写出来与大家分享一下。 DAO层定义了一个接口,返回String集合...
    99+
    2022-11-12
  • Python函数式编程的返回函数与匿名函数怎么定义
    本篇内容介绍了“Python函数式编程的返回函数与匿名函数怎么定义”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!返回函数所谓返回函数,顾名思...
    99+
    2023-07-06
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作