2016 - 2024

感恩一路有你

c++拷贝构造函数 c 什么时候必须定义构造函数,析构函数,拷贝构造函数?

浏览量:1696 时间:2021-03-14 02:46:07 作者:admin

c 什么时候必须定义构造函数,析构函数,拷贝构造函数?

当一个类含有一些数据成员,你需要在实例化类的时候就初始化这些成员,你就需要自己定义构造函数。例如Person类含有m_strName成员,你在声明该类是就将其赋值 Person myPerson("张三")

对于拷贝构造函数,为了防止浅拷贝造成的两个对象指向同一内存,当删除其中一个对象后导致另一对象指向内容为空的时候,我们就需要定义自己的拷贝构造函数来进行深拷贝。

当你的类数据成员中使用了动态分配的内存,你就需要定义自己的析构函数来释放这部分内存,防止内存泄露。

系统定义的默认构造函数和析构函数函数名和类名相同,如Person类:

Person()构造函数

~Person()析构函数

c ,求三个长方体的体积,用构造函数,析构函数,拷贝构造函数?

代码示例:

先定义一个长方体类T,定义三个对象求体积。

#include<iostream>

using namespace std

class T //定义一个体积类

{

private:

int L //长

int W //宽

int H //高

public:

void set()

void volume()

}

void T::set()

{

cout<<"长:"

cin>>L

cout<<"宽:"

cin>>W

cout<<"高:"

cin>>H

}

void T::volume()

{

cout<<"体积:"<<(L*W*H)<<endl

}

int main()

{

T t1,t2,t3

t1.set()

t1.volume()

t2.set()

t2.volume()

t3.set()

t3.volume()

}

何时调用构造函数,复制构造函数,析构函数?

构造函数 在对象生成时调用.可能是在定义的时候, 或者new分配的时候. 调用哪个构造函数 由构造参数决定. 如果构造参数是另一个同类对象,那就是复制构造函数. 如果无参 那就是无参构造或者默认构造. 而析构函数是在对象生命周期结束, 即释放时调用. new出来的对象会在delete时调用 局部变量 在退出作用域时调用. 全局变量和静态局部变量在程序退出时调用.

c++拷贝构造函数 拷贝构造函数存储 拷贝构造函数使用内存吗

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。