77问答网
所有问题
c++中创建了一个类中有指针,构造函数中指针长度为size,为什么拷贝构造函数为size+1
如题所述
举报该问题
推荐答案 2016-04-07
你好,
这个例子应该是错了。用到size+1的情况一般是char类型的数组,因为最后一位要存一个空字符。这里只是一个int类型的字符,这样写明显是没有必要的。
谢谢
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://77.wendadaohang.com/zd/YY3qvW3vG83p3G3YGpp.html
相似回答
C++中一个
关于复制
构造函数
和
指针
的问题
答:
在主
函数中
操作,
拷贝类指针
P1的方法。A*p1=new A; //它会调用默认构造函数 A*P2=new A(*P1); //它会调用
拷贝函数
这是权威回答,第二行但我是这么理解的,分解为以下三步 有个中间值 A m;A m(*p1); 先通过*p1变成一个对象,然后调用
拷贝构造函数,
拷贝对象 A*P2=new P...
c++中拷贝构造函数
问题
答:
1、对,如果你定义了任意形式的
构造函数,
默认构造函数就没有了,如果需要就要自己显示定义。2、简单来说,当你将构造函数声明为private,那么就只有你的类的内部函数才可以
构造类
对象,而不允许外部构造。 这样编译器就不能使用构造函数了。 还有的情况也是可以:比如 你要用类似工厂类, 通过getInsta...
C++中,拷贝构造函数,
和
构造函数有什么
区别?
答:
构造函数:是用于对对象初始化名字,必须与类的名字相同,比如说定义一个圆类。复制
构造函数,
在某种意义上相当于运算符“=”重载,把一个对象的数值复制给另一个 class circle { public:circle (int r):radium(r){};//构造函数的第一种写法 circle (int r){radium=r;}//构造函数的第二种写法...
关于
C++
析构
函数
答:
调用了系统合成的赋值操作符函数,其实合成的
构造函数
就是下面的这个函数:Set& operator = ( const Set &r ){
Size
= r.Size;Elems = r.Elems;Num = r.Num;} 调用上面函数的结果是把T这个临时变量的Elems(它是
一个指针
)的值直接赋给了d的Elems成 员变量,然后系统就会撤销T这个临时变量(...
C++类中为什么
只有构造函数和
拷贝构造函数
有参数列表?
答:
对类的成员函数声明来说,参数表不是构造函数和
拷贝构造函数
的专利,一般的类的成员函数,也是可以选择参数个数的。并且还要注意,就算是那些比较“特殊”的成员函数,如operator=,也是有函数表的,而且拷贝构造函数由于其功能的原因,它的参数表还是固定格式的。我猜你是想问
,为啥
析构函数就没有参数表...
拷贝构造函数
在哪几种情况下调用
答:
一般情况下,当类中成员
有指针
变量、
类中有
动态内存分配时常常需要用户自己定义
拷贝构造函数
。在什么情况下系统会调用拷贝构造函数:(三种情况)(1)用类的一个对象去初始化另一个对象时 (2)当函数的形参是类的对象时(也就是值传递时),如果是引用传递则不会调用 (3)当函数的返回值是类的...
拷贝构造函数
的例述
答:
回顾一下此语句的具体过程:首先建立对象theObjtwo,并调用其
构造函数,
然后成员被复制初始化。其完成方式是内存
拷贝,
复制所有成员的值。完成后,theObjtwo.pBuffer==theObjone.pBuffer。即它们将指向同样的地方
,指针
虽然复制了,但所指向的空间并没有复制,而是由两个对象共用了。这样不符合要求,对象...
大家正在搜
为什么类中指针不调用构造函数
一个类的构造函数通常被定义为
创建对象指针调用构造函数
定义类的指针会调用构造函数吗
构造函数是类的成员函数
this指针构造函数
指针数组调用构造函数吗
不能定义指向构造函数的指针
类数组调用几次构造函数
相关问题
C++ 为什么当类中有指针类型的成员变量时,一定要重写拷贝构...
C++中一个关于复制构造函数和指针的问题
为什么类中有指针时构造函数要显示定义
c++ 带有数组指针的类的拷贝构造函数问题
C++中用new运算符创建一个类的数组指针会调用类的构造函数...
C++对象:构造函数
C++中如果声明一个对象指针时,会不会调用构造函数
拷贝构造函数使用指针作为参数初始化创建中的对象。( )