c++的问题-C++中 new 一个对象的返回值?

问题描述

C++中 new 一个对象的返回值?

在《C++ PRIMER》中TextQuery的面向对象实现中,有如下语句:

inline Query operator&(const Query &lhs, const Query &rhs)
{
   return new AndQuery(lhs, rhs);
}

Q: new AndQuery(lhs, rhs)不是应该返回的是 *AndQuery吗,难道可以隐式的转换到Query类型?

解决方案

看一下Query有没有定义复制构造函数之类的

解决方案二:

楼主的想法是完全正确的。

但是你是不是忽略了一些东西,比如Query 和 AndQuery的关系。

还有AndQuery的构造函数等。

解决方案三:

看一下类中有的转换操作符

时间: 2024-11-03 22:23:18

c++的问题-C++中 new 一个对象的返回值?的相关文章

Java模拟HTTP请求如何获取请求页面中ajax方法的返回值

问题描述 Java模拟HTTP请求如何获取请求页面中ajax方法的返回值 我有一个AAA.JSP页面是通过加载百度的地图API的JS文件,再调用其中的ajax请求方法获取地理坐标.地理坐标在该ajax方法的返回参数中的.我现在需要在服务器端获取地理位置信息,因此我通过java程序模拟HTTP请求,去访问AAA.JSP,但因为ajax是异步的,模拟程序访问该页面的时候,其中的ajax方法还没执行结束,服务器就返回了该页面的静态HTML内容,导致我无法获取地理位置信息.请问如何让服务器端在ajax执

类中const函数的返回值问题

问题描述 类中const函数的返回值问题 我写了一个matrix类,其中定义了一个二维指针int **p用来表示这个矩阵,现在我需要些一个下标操作符的重载,但是他会报错. const int *&matrix::operator const { return p[n]; } 这个函数返回一个一维指针引用.但是我不知道错在哪儿了. 但是如果把返回引用改成返回一维指针本身,也就是如下所示,就没问题了.为什么呢??哪个大神来解释下. const int *matrix::operator const

关于JS中match() 和 exec() 返回值和属性的测试_javascript技巧

语法: exec() : RegExpObject.exec(string) match() : stringObject.match(string) stringObject.match(regexp) 知识点: exec() 是RegExp对象的方法,而 match() 是String对象的方法. 都会返回包含第一个匹配项信息的数组:或者在没有匹配项的情况下返回null. 返回的数组虽然是Array 的实例,但包含两个额外的属性:index 和 input.其中,index 表示匹配项在字符

java中read方法的返回值

问题描述 java中read方法的返回值 在ByteArrayInputStream中返回"下一个数据字节,如果到达流末尾,则返回 -1".还是不太理解,能详细的说一下吗? 下一个数据字节指的是什么? 这和FileInputStream的返回值一样吗? 解决方案 首先,InputStream是字节读取的,每次读取文件一个字节的数据,并将这个字节的数据转换Java的byte类型的一个整数返回,如果为-1说明读取不到数据了,即到达文件尾部了.read操作就是逐字节地读取数据,所以需要循环操

java-RandomAccessFile中read()方法的返回值

问题描述 RandomAccessFile中read()方法的返回值 RandomAccessFile raf= new RandomAccessFile("D:/fis2.txt","rw"); raf.write(100); raf.seek(0); int a=raf.read(); System.out.println(a);//输出 100 raf.close(); 之前所了解到的知识是: read()方法返回值是所读取到byte的个数 以上的返回值如何理

数据库-qt 中query.prepare的返回值一直是true

问题描述 qt 中query.prepare的返回值一直是true 正在学习用qt做一个qq的登陆界面,遇到了下面这个问题,我在数据库中只存了两个id,但是当我输入错误的id的时候,query.prepare返回值用debug打出依然是true,是哪里出了问题吗,还有就是数据库表只能创建一次吗,我多次创建为什么提示我创建失败啊,搞了一下午,头疼啊. bool value; QString username=ui->lusername->text(); //获取输入的id QString pas

C中snprintf函数的返回值问题

今天特别记录下. snprintf的函数原型为: int snprintf(char *str, size_t size, const char *format, -); 说明: 之前以为snprintf的返回值是实际写入到str字符串的长度,其实不然 case 1 : 如果要输出的字符串的长度< size, 主要这里不包括=, 因为snprintf会自动将加入到str中, snprintf的返回值是实际str的长度 case 2 : 如果要输出的字符串长度>= size, 则表明str的长度

java中request.getParameterMap的返回值Map例子

得到jsp页面提交的参数很容易,但通过它可以将request中的参数和值变成一个map,以下是将得到的参数和值打印出来,形成的map结构:map(key,value[]),即:key是String型,value是String型数组. 例如: 表单请求中包含多选框checkbox或者请求request中的参数t1=1&t1=2&t2=3 形成的map结构:  代码如下 复制代码 key=t1;value[0]=1,value[1]=2 key=t2;value[0]=3 如果直接用map.g

VBS中InputBox函数的返回值使用技巧_vbs

如果用户单击确定或按下 ENTER,则 InputBox 函数返回文本框中的内容.如果用户单击取消,则函数返回一个零长度字符串 (""). 这是参考手册对InputBox函数返回值的说明,简单而明了,还有必要专门写一篇文章来讨论?我知道你一定对标题不屑一顾,换成是我,我也一定会不屑一顾,如果我没有看到百度VBS吧里的一个帖子. 关于Inputbox 疑惑 ---------------------------- 如果用户单击确定或按下 ENTER,则 InputBox 函数返回文本框中