11-构造函数

写在前面

构造函数(也叫构造器),写移动端的经常用

名词解释

构造函数(也叫构造器),在对象创建的时候自动调用,一般用于完成对象的初始化工作

码上建功

struct Person {
    int m_age;
    //初始化方法,不带参数
    Person() {
        cout << "Person()" << endl;
        // this->m_age = 0;
        //memset函数是将较大的数据结构(比如对象、数组等)内存清零的比较快的方法
        memset(this, 0, sizeof(Person));
    }
    //初始化,带参数
    Person(int age) {
        //此时不能用this.m_age访问,因为this是指针类型
        this->m_age = age;
        cout << "Person(int age)"<< age << endl;
    }
};

int main() {
    // 栈空间
    Person person1; // Person()
    Person person2(); // 函数声明,函数名叫person2,无参,返回值类型是Person
    Person person3(20);  // Person(int age)
    
    // 堆空间
    Person *p1 = new Person; // Person()
    Person *p2 = new Person(); // Person()
    Person *p3 = new Person(30);  // Person(int age)
}
后面注释写明了调用哪一个初始化构造器
打印结果
Person(int age)20
Person()
Person()
Person(int age)30

装逼一下

函数名与类同名,无返回值(void都不能写),可以有参数,可以重载,可以有多个构造函数
一旦自定义了构造函数,必须用其中一个自定义的构造函数来初始化对象
通过malloc分配的对象不会调用构造函数

完整代码demo,请移步GitHub:DDGLearningCpp

当然C++大神就绕吧,非喜勿喷,毕竟这是个人的学习笔记📒

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • (注1:如果有问题欢迎留言探讨,一起学习!转载请注明出处,喜欢可以点个赞哦!)(注2:更多内容请查看我的目录。) ...
    love丁酥酥阅读 1,276评论 0 3
  • 写在前面 名词解释 码上建功 --类 码上建功 --结构体 装逼一下 完整代码demo,请移步GitHub:DDG...
    _东阁堂主_阅读 269评论 0 0
  • 写在前面 名词解释 码上封口 码来补充 装逼一下 完整代码demo,请移步GitHub:DDGLearningCp...
    _东阁堂主_阅读 319评论 0 0
  • 写在前面 名词解释 上代码 完整代码demo,请移步GitHub:DDGLearningCpp 当然C++大神就绕...
    _东阁堂主_阅读 310评论 0 0
  • 打跑豹哥几人,对张海龙的刺激很大,车振知道,不是生死攸关的大事,张海龙是不会来找自己麻烦的。 车振还是选择步行回校...
    半痞阅读 373评论 0 1

友情链接更多精彩内容