为了账号安全,请及时绑定邮箱和手机立即绑定
  • 类是概念,对象是实例。例如:要设计一部手机,那么需要图纸,图纸就是概念,而通过图纸造出的手机就是实例。

    同一张图纸,不同的厂商可能造出的手机不同,手机有各种功能,但手机有共有的功能,发短信、打电话,这两个功能就是手机的属性(数据成员)。

    定义一个类:

                class 类名

                {

                    public : //公共的,客户可以看到的

                    private : //私有的,客户看不到的

                     protected : //受保护的,客户看不见,但开发者能看到

                }

    查看全部
    0 采集 收起 来源:C++类和对象

    2020-03-01

  • Sink
    查看全部
    0 采集 收起 来源:单元巩固

    2020-02-28

  • FNH

    对象实例化分为从堆中实例化和从栈中实例化

    从栈中实例化的对象会自动销毁,声明方式如下

    C a 或 C b[20]

    从堆中实例化的对象不会自己删除,声明和销毁分别依靠new和delete,声明时候可能会出现失败的情况这时候需要判断指针是否为NULL

    如 if(p == NULL){}

    用堆生成的对象是指针,切记

    例如

    C *a = new C();

    delete a;

    C *a = new C[3];

    delete []a;

    查看全部
  • 申请内存-》初始化列表-》构造函数-》参与运算-》析构函数-》释放内存

    查看全部
    0 采集 收起 来源:C++ 析构函数

    2020-02-23

  • 拷贝构造函数:类名(const 类名&变量名)

    赋值和复制调用的都是类的拷贝构造函数

    查看全部
  • 初始化列表是默认构造函数的一种增强

    存在的必要性:可以用来初始化const 成员变量

    查看全部
  • 类内定义函数优先被编译为内联函数。

    头文件中的类外定义,类中成员函数相当于声明。

    C++必须要求函数要有声明,所以实现的模块必须要包含头文件


    查看全部
    0 采集 收起 来源:类外定义

    2020-02-23

  • getline 与直接cin输入的区别: getline可以获得字符串类型的空值

    查看全部
    0 采集 收起 来源:C++ 初始String

    2020-02-23

  • 类成员在作为函数参数变量传参的时候,实质上是重新复制原变量,创造一个新变量进行函数计算的,在函数计算完成之后,这个变量随着函数结束一起销毁。

    查看全部
  • 拷贝构造函数的参数设置一定是常量化的类变量引用。

    Student (Const Student &stu){}

    查看全部
  • 初始化列表可以初始化常量变量比如const int age。

    Teacher::Teacher(string name , int age) : m_strName(name) , m_iAge(age)

    {

    }

    查看全部
  • #include <iostream>
    #include <string>
    using namespace std;
    /**
     * 定义类:Student
     * 数据成员:m_strName
     * 无参构造函数:Student()
     * 有参构造函数:Student(string _name)
     * 拷贝构造函数:Student(const Student& stu)
     * 析构函数:~Student()
     * 数据成员函数:setName(string _name)、getName()
     */
     class Student
     {
    public:
        Student()
        {
            cout << "不带参数的构造函数" << endl;
        }
        Student(string _name)
        {
            m_strName = _name;
            cout << "带参数的构造函数" << endl;
        }
        Student(const Student &stu)
        {
            cout << "copy的构造函数" << endl;
        }
        ~Student(){};
        void setName(string _name)
        {
            m_strName = _name;
        }
        string getName()
        {
            return m_strName;
        }
    private:
        string m_strName;
        
    };


    int main(void)
    {
        // 通过new方式实例化对象*stu
        Student *stu = new Student();
        Student *stu1 = stu;
        Student stu2;
        Student st3(stu2);
        // 更改对象的数据成员为“慕课网”
        stu->setName("慕课网");
        // 打印对象的数据成员
        cout << stu->getName();
        return 0;
    }

    查看全部
    0 采集 收起 来源:综合练习

    2020-02-23

  • #include <iostream>
    #include <string>
    using namespace std;

    /**
      * 定义类:Student
      * 数据成员:名字、年龄
      */
    class Student
    {
    public:
        // 定义数据成员名字 m_strName 和年龄 m_iAge
        string m_strName;
        int m_iAge;
    };

    int main()
    {
        // 实例化一个Student对象stu
        Student *stu = new Student() ;
        // 设置对象的数据成员
        stu->m_strName = "慕课网";
        stu->m_iAge = 2;
        
        // 通过cout打印stu对象的数据成员
        cout << stu->m_strName << " " << stu->m_iAge << endl;
        delete stu;
        stu = NULL;

        return 0;
    }

    查看全部
    0 采集 收起 来源:单元巩固

    2020-02-22

  • 栈区:内存由系统来控制,无论是分配还是回收都不需要程序员关心;

    堆区:内存需要程序员管理,需要用delete来回收;

    常量区:存储字符串和常量;

    代码区:存储编译之后的二进制代码;


    查看全部
  • #include <iostream>

    #include <string>

    using namespace std;


    /**

      * 定义类:Student

      * 数据成员:m_strName

      * 数据成员的封装函数:setName()、getName()

      */

    class Student

    {

    public:

      

        // 定义数据成员封装函数setName()

      void setName(string _name)

      {

          m_strName=_name;

          

      }

        

        

        // 定义数据成员封装函数getName()

        string getName()

        {

          return  m_strName;

        }

        

        

    //定义Student类私有数据成员m_strName

    private:

     string m_strName;


    };


    int main()

    {

        // 使用new关键字,实例化对象

    Student *str = new Student();

        // 设置对象的数据成员

    str->setName("慕课网");

        // 使用cout打印对象str的数据成员

        cout<<str->getName()<<endl;

        // 将对象str的内存释放,并将其置空

    str=NULL;

    return 0;

    }


    查看全部
    0 采集 收起 来源:单元巩固

    2020-02-19

举报

0/150
提交
取消
课程须知
本课程是C++初级课程 需要熟练掌握C++语言基础语法
老师告诉你能学到什么?
1、类的定义与对象实例化 2、string类型及属性封装 3、类外定义 4、构造函数与初始化列表 5、析构函数

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!