学习对象特性有感(对象的初始化和清理)

文章讨论了构造函数和析构函数在类对象初始化和清理中的作用。构造函数应在类的public区域定义,以便外部能创建对象;同样,析构函数也需要公开,因为类的清除会调用它。当构造函数带有参数时,创建对象时需传入相应实参。只有当构造和析构函数条件满足时,类才能成功创建对象。
摘要由CSDN通过智能技术生成

一个类的对象的初始化和清理总是伴随着构造函数和析构函数,下面让我来聊聊我对其的理解,以及我书写时的一些错误。

首先究其概念而言,构造函数应是写在一个类的内部的,伴随着类的对象的创造和清楚而出现。

其次书写构造函数时和析构函数时一定要把他们同时放在public权限区,否则将无法使用创造这一类的对象,因为任何一个类的创造都伴随这构造函数的调用,如果你不让外部访问这个函数,那就不能创建这一类的对象,类的清除也伴随着析构函数,理由同上。

#include<iostream>
using namespace std;
class Person {
//将两个函数均放在公共权限中
public:
    Person() {
        cout << "这里是person的构造函数" << endl;
    }
//private://将任意一个放在外界不可访问的区域都是不能成功创建类的对象的
    ~Person() {
        cout << "这里是person的析构函数" << endl;
    }
};
int main() {
    Person p;
    return 0;
}

然后因为构造函数是能够定义形参的,所以当你定义了一个形参时,那么当你创建这一类的对象时,你也必须相应的传入对应类型的实参,例如构造函数为Person(int a)那么定义的时候应该Person p(1);

#include<iostream>
using namespace std;
class Person {
//将两个函数均放在公共权限中
public:
    Person(int a) {
        cout << "这里是person的构造函数" << endl;
    }
    ~Person() {
        cout << "这里是person的析构函数" << endl;
    }
};
int main() {
//当构造函数有形参是,创造的对象必须也传入相同类型的参数才能成功创造
    //Person p;//无法创造对象
    Person p(1);
    return 0;
}

总而言之,类的构造和清除总是伴随着构造函数和析构函数,所以只有当一个类的构造函数和析构函数同时满足运行条件是,这个类才能成功创建对象。

初学有感,欢迎指正!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值