精华内容
下载资源
问答
  • 摘自拷贝构造函数的参数类型必须是引用 在下面几种情况下会调用拷贝构造函数: 1. 显式或隐式地用同类型的一个对象来初始化另外一个对象。如上例中,用对象c初始化d; 2. 作为实参(argument)传递给一个函数。如C...

    摘自拷贝构造函数的参数类型必须是引用
    在下面几种情况下会调用拷贝构造函数:
    1. 显式或隐式地用同类型的一个对象来初始化另外一个对象。如上例中,用对象c初始化d;
    2. 作为实参(argument)传递给一个函数。如CClass(const CClass c_class)中,就会调用CClass的拷贝构造函数;
    3. 在函数体内返回一个对象时,也会调用返回值类型的拷贝构造函数;
    4. 初始化序列容器中的元素时。比如 vector svec(5),string的缺省构造函数和拷贝构造函数都会被调用;
    5. 用列表的方式初始化数组元素时。string a[] = {string(“hello”), string(“world”)}; 会调用string的拷贝构造函数。

    #include "stdafx.h"
    #include <iostream>
    using namespace std;
    
    class Temp
    {
    public:
        Temp();
        ~Temp();
        //Temp(const Temp & temp);
        Temp(Temp temp);
        Temp& operator=(const Temp & temp);
    };
    
    //Temp::Temp(const Temp & temp)
    //{
    //  cout << "CopyConstructor" << endl;
    //}
    
    Temp::Temp(const Temp temp)
    {
        cout << "CopyConstructor" << endl;
    }
    
    Temp::Temp()
    {
        cout << "DefaultConstructor" << endl;
    }
    
    Temp::~Temp()
    {
        cout << "DefaultDestructor" << endl;
    }
    
    Temp& Temp::operator=(const Temp& temp)
    {
        cout << "OverrideEqualOp" << endl;
        return *this;
    }
    
    int main()
    {
        Temp t,b;
        Temp a(t);
    
        Temp c = a;
        c = b;
    
        getchar();
        return 0;
    }
    

    此代码块编译会报错
    1. note: 由于复制构造函数不明确或没有可用的复制构造函数,因此无法复制构造 class“Temp”
    2. error C2558: class“Temp”: 没有可用的复制构造函数或复制构造函数声明为“explicit”
    3. error C2440: “初始化”: 无法从“Temp”转换为“Temp”

    当使用引用传递时的时则编译通过
    显示结果

    后续会添加其他情形下的测试代码。
    自感平时学的太乱,不成系统,幡然醒悟开始推博客,请大神们多指导。

    展开全文
  • 执行nmake是报 构造函数不能有返回类型 错误 显示是“某个类名 ::{ctor}”构造函数不能有返回类型 比较别人代码才注意到,在定义类时最后没有加冒号

    执行nmake是报 构造函数不能有返回类型 错误     

    显示是“某个类名  ::{ctor}”构造函数不能有返回类型

    比较别人的代码才注意到,在定义类时最后没有加冒号

    展开全文
  • 检查出问题类定义是是否有封号 ; 在.h中如下定义,则cpp文件构造函数处会报不能有返回值类型的错误 class A { public: } 应为 class A { public: };

    检查出问题的类定义是是否有封号 ;
    在.h中如下定义,则cpp文件构造函数处会报不能有返回值类型的错误

    class A
    {
    public:
    
    }
    

    应为

    class A
    {
    public:
    
    };
    
    展开全文
  • C++内置类型的赋值构造函数返回的是引用类型。为了在相同表达式和内置类型的表现一致,比如:(a + b)=c ps:默认赋值构造函数也是返回引用 当然,不返回引用也是合法赋值构造函数
    C++内置类型的赋值构造函数返回的是引用类型。为了在相同表达式和内置类型的表现一致,比如:(a + b)=c 

    ps:默认赋值构造函数也是返回引用


    当然,不返回引用也是合法的赋值构造函数。

    展开全文
  • error:不能在构造函数上指定返回类型     在定义一个类 class 时,,如 类Class(二):构造函数 中例子,报错,显示 error:不能在构造函数上指定返回类型。检查了一下没有指定返回类型啊,原来 是因为...
  • “Stock::{ctor}”: 构造函数不能有返回类型 C++primer plus中错误 是因为类定义后面没有加分号
  • C++的构造函数和默认构造函数详解

    万次阅读 多人点赞 2019-04-07 15:19:45
    今天学习c++时突然感觉自己对构造函数和默认构造函数的区别有些分不清,于是查找了各大网站将资料汇总一下,供自己和其他朋友们参考。 构造函数是c++的类在构造对象时调用的函数,此函数没有返回类型。 默认构造...
  • c#的构造函数及构造函数的调用

    千次阅读 2015-12-01 16:53:07
    C#构造函数的特性一、 什么是C#构造函数?Construct,Function  C#构造函数是一种特殊的成员函数,它主要用于为对象分配存储空间,对数据成员进行初始化.  C#构造函数具有一些特殊的性质:  (1)C#构造...
  • 构造函数的特点:以类名作为函数名,无返回类型。常见的构造函数有三种写法:无参构造函数一般构造函数复制构造函数C++的构造函数可以有多个,创建对象时编译器会根据传入的参数不同调用不同的构造函数。1、无参构造...
  • 好久都没搞c++,写个c++类报“构造函数不能有返回类型”, 在MSDN上找了半天都没有解决问题!太郁闷了。 谷歌一下,才找到原因: 原来是我定义类后面没有用“;”结尾,构造函数默认把整个类作为返回值了
  • error C2533: “BigData::{ctor}”: 构造函数不能有返回类型 BigData::BigData(INT64value) :_value(value) {} 这个构造函数是正确,没有返回值呀!!那为什么会报错呢?? 这个问题困扰了我好几个小时,最后...
  • 今天在写了一个类函数之后...1、构造函数不能有返回类型 2、函数定义或声明中有错误;未调用函数 找了很久,一直不明白这两个错误提示,不知道bug在哪里。最后才发现,是定义末尾少加了分号,耽误了很多时间...
  • 今天看书,忽然发现自己对默认构造函数/构造函数的理解很模糊,在实际项目中写类时,这些细节问题并没有涉及到。因此,就专门对着《C++ Primer Plus》将默认构造函数/构造函数这一块简单总结一下。 构造函数:C++...
  • 类型构造函数

    2007-09-03 20:23:00
    您应该很熟悉构造函数,它负责设置对象实例初始状态。除了实例构造函数,Microsoft® .NET 公共语言运行库(common language runtime,CLR)还...类型构造函数不接受任何参数,返回类型必须是 void。类型构造函数...
  • <div><p>该提问来源于开源项目:wangdoc/javascript-tutorial</p></div>
  • 同时,拷贝构造函数也是构造函数的一个特例,其中可以使用this来引用正在创建的对象指针,不需要返回新创建的对象 拷贝构造函数主要的问题在于它的调用: 1.显式调用,显式调用构造函数且参数匹配时
  • 写个c++类报“构造函数不能有返回类型”, 谷歌一下,才找到原因: 原来是我定义的类后面没有用“;”结尾,构造函数默认把整个类作为返回值了 2.新建类后,报LNK2019:找不到一个函数的实现 原因是QT的一个BUG...
  • #include <iostream> using namespace std; class Hell { public: ...函数返回类型的时候是调用什么函数?如果是赋值调用函数,在倒数第三行temp=print()应该是两次赋值函数才对啊
  • 什么是构造函数 构造函数是类的成员函数,用于初始化类的对象。在C++中,创建对象(类的实例)时会自动调用构造函数。它是类的特殊成员函数。 构造函数与普通成员函数有何不同?...构造函数的类型 1、默认构造...
  • 看stl源码时,有一段代码感觉很奇怪 iterator begin() { return (link_type)((*node).next);...转换构造函数的作用是将某种类型的数据转换为类的对象,当一个构造函数只有一个参数,而且该参数又不是本类的co

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 4,031
精华内容 1,612
关键字:

构造函数的返回类型是