问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

c++类构造函数

发布网友 发布时间:2022-05-25 12:34

我来回答

5个回答

热心网友 时间:2023-10-28 16:14

类的转换函数,形式如下
class A
{
operator Type();
}

意思是将类 A 的对象转换为 Type 类型
这个函数没有参数,没有返回值,因为:
函数参数不需要,就是对象自己
函数返回值不需要,就是函数名
举个实例,直接编译运行一下,你应该不会再有疑问了:

#include <iostream>
using namespace std;

class A
{
public:
A(char* str):strName(str){}
operator char*()
{
cout << "转换函数被调用了" << endl;
return strName;
}
private:
char* strName;
int i;
};

void f(char* str)
{
cout << str << endl;;
}

int main(int argc, char *argv[])
{
A a("Hello World!");
f(a);
return 0;
}

热心网友 时间:2023-10-28 16:14

不是构造函数,意思就是说这个类的对象可以当作 char* 来使用,举个例之:

CA 是你定义的类,它有这样一个函数operator char* (){
……
}

然后:
char* p = NULL;
CA a;
p = a;
这样是可以编译通过的,因为把a认作一个char*类型。

热心网友 时间:2023-10-28 16:15

这个是转换函数 用于将类类型转换为其他类型;
如类中定义的有一个operator double();
你就可以将类对象赋给一个double量:
double t=类对象;
经编译时编译器发现:右边的是类类型,左边的是double,它将查找你是否定义了与之相同
的转换函数(如果没有将报错);

注:
1.转换函数必须是类方法;
2.转换函数不能指定返回类型;
3.转换函数不能有参数;

热心网友 时间:2023-10-28 16:16

构造函数是一个与类名同名的函数,是用来初始化类的成员变量的函数。这样可以避免没有设定值时成员变量仍然能够运行正常。这个不是构造函数。

热心网友 时间:2023-10-28 16:16

这是char*转换函数,就是说如果你的类里面有了这个函数,就说可以用你的类直接赋值给char对象
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
做青红椒炒毛肚有哪些好吃的诀窍? 如何自制好吃的香辣毛肚? 穿越火线警告码SX(2,509,0)如何解决 CF sx警告码(2,770,0)什么原因 ...要求重新启动电脑 警告码是2 xxxx 0 有时重启4 5次才能玩 win7系统... 穿越火线 sx 警告码 2,994,0 怎么解决 CF出现非法模块SX警告码(2,990,0) 我为什么上CF体验服没开G有非法模块???怎么办啊 警告码(2,502,0) 穿越火线进游戏后 2分钟左右 就出来个 SX 警告码2,990,0 看到刘老师那慈祥的面庞,我感慨万分,我想到了这样几个赞美刘老师的成语... 关于C++类型转换函数的问题,求详解。 C++中,转换构造函数为什么不能定义为类成员函数? c语言 函数类型转换 在调用一个子函数时,传递过来的值为什么不能数据类型转换啊,如以下程序: 类型转换函数的概述 急!!!C++中,转换构造函数为什么不能定义为类成员函数? 类中是不是只有声明,不可以有定义??函数的调用为什么不可以直接作为成员,必须在函数体内部才可以?? C++ 问题 不知道 在类中声明构造函数时不能指定() C++选择题:在类中声明转换函数时不能指定__ 男生把女生微信拉黑d什么意思 专杀蟑螂药灭蟑螂怎么样 蟑螂药什么样的最好 蟑螂药效果怎么样 最好的蟑螂药 怎么样 什么样的蟑螂药好使? 社区专职网格员是做什么的 黑果枸杞鲑鱼蛋白植物饮料好不好喝?要喝多久才能有效果? 黑果枸杞是黑枸杞吗,怎样的吃法? 黑果枸杞鲑鱼蛋白植物饮料的作用是什么?什么时候喝效果比较好? 我在支付宝里面的福气林种下这么多树都是真种下的树吗?怎么可能!!!这到底是神马情况呢?真有点懵&# 成员函数可以在类中定义吗?,注意不是声明 在声明或定义函数时,函数的参数类型必须得写名吗?参数名呢? 在类的定义当中,成员函数的定义是不是可以在类的定 c++在头文件中声明一个类,但是在主函数定义该类的变量时却出错了... 《工作细胞》拥有什么样的情节构思? 成员函数能否在类定义中?写在在类中有什么要求? c++类的声明的定义为什么一定要分开写,为什么当在类内声明一个函数时,它的定义一定要在类外写? 在《工作细胞》中,是否存在科学性的科普错误? 《工作细胞》为什么从构思到情节都让人有看下去的欲望? 众安保险开放平台做得怎么样?国内还有哪些做得比较好的保险科技平台? 国内有哪些比较好的零代码开放平台啊?最好是要功能完善一点的 ...被我输错了.这个收款人得名字输错了也可以转账成功吗 ? 如何让手机屏幕上一直悬浮着一排可以自由编辑的字体 什么开放平台好? 目前国内最大的开放式电子商务行业平台是哪家? 小团队开发者适合哪个开放平台 哪家企业开放式的在线培训平台好些? 我电脑磁盘图标怎么改回来?? 请问:什么叫“开放式平台”啊? 动漫制作技术零基础能学吗 报的这个专业 只有兴趣 没有基础...是努力学