美文网首页
[C++之旅] 10 构造函数

[C++之旅] 10 构造函数

作者: Onicc | 来源:发表于2018-11-24 23:06 被阅读0次

[C++之旅] 10 构造函数

构造函数的特点

  • 构造函数在对象实例化时被自动调用
  • 构造函数与类同名
  • 构造函数没有返回值
  • 构造函数可以有多个重载
  • 实例化对象时仅用到一个构造函数
  • 当用户没有定义构造函数时,编译器自动生成一个构造函数

无参构造函数

class Student
{
public:
    Student() {
        m_strName = "Tim";
    }
    
private:
    string m_strName;
};

Student()为无参构造函数,在实例化一个对象时自动调用此函数。

有参构造函数

class Student
{
public:
    Student(string name)
    {
        m_strName = name;
    }
    
private:
    string m_strName;
};

实例化对象时与无参时不同,需在实例化后加入参数,即Student s("Tim")

使用方法

有参构造函数和无参构造函数可以同时写入在类中,根据实例化对象的方法系统自动识别使用哪个构造函数。

class Student
{
public:
    Student() {
        m_strName = "Tim";
    }
    Student(string name) {
        m_strName = name;
    }
    
private:
    string m_strName;
};

若实例化对象方式为Student s1;则调用无参的构造函数;

若实例化对象方式为Student s2("Tim");则调用有参的构造函数;

相关文章

  • [C++之旅] 10 构造函数

    [C++之旅] 10 构造函数 构造函数的特点 构造函数在对象实例化时被自动调用 构造函数与类同名 构造函数没有返...

  • [C++之旅] 12 拷贝构造函数

    [C++之旅] 12 拷贝构造函数 拷贝构造函数的特点 如果没有自定义的拷贝构造函数则系统自动生成一个默认的拷贝构...

  • [C++之旅] 13 析构函数

    [C++之旅] 13 析构函数 析构函数与构造函数相反,构造函数在实例化一个对象时调用,而析构函数在销毁一个对象时...

  • windows逆向3

    VC 程序内存和编译的一些特征C++ 构造函数C++ 成员函数C++ 析构函数C++ 全局对象的构造C++ 全局对...

  • C++ 构造过程

    构造函数 C++中每个类必须有一个构造函数,如果用户没有自行编写构造函数,则C++会自动提供一个无参数的构造函数,...

  • C++:面向对象基础

    构造函数 C++中有三种构造函数:默认构造函数,有参构造函数,拷贝构造函数 类对象的初始化 括号法//默认构造函数...

  • [C++之旅] 11 初始化列表

    [C++之旅] 11 初始化列表 初始化列表的特性 初始化列表先于构造函数执行 初始化列表只能用于构造函数 初始化...

  • scala学习笔记-构造函数

    scala的构造函数分为主构造函数和辅助构造函数 【辅助构造函数】比较容易理解,它们同C++和Java的构造函数十...

  • c++面向对象-构造、析构、初始化列表

    构造函数 构造函数是指创建对象的时候,会调用的函数。C++构造函数可以重载,指针或者对象均可调用构造函数。 析构函...

  • C++基础③new对象,继承,友元函数,函数的可变参数

    接续上篇C++基础②构造函数,析构函数,拷贝构造函数 前言 C++是一门面向对象的编程语言 , 创建用以创建对象 ...

网友评论

      本文标题:[C++之旅] 10 构造函数

      本文链接:https://www.haomeiwen.com/subject/mcduqqtx.html