为了账号安全,请及时绑定邮箱和手机立即绑定
  • 我理解:

    从栈中实例化,实际类似定义一个变量;

    从堆中实例化,是开辟了一片地址,定义了一个指针;

    但是"."和“->”都是指针的调用方式?

    查看全部
  • http://img1.sycdn.imooc.com//5e32e26c0001bdab19201080.jpg

    对象的生命周期

    查看全部
  • 6-7之后未做笔记,未完成

    查看全部
    0 采集 收起 来源:总结

    2020-01-30

  • 析构函数:不允许加任何参数,和构造函数不同

    http://img1.sycdn.imooc.com//5e32572e0001952d13420800.jpg

    析构函数存在的必要性:唯一功能,释放空间,不允许参数,不允许重载

    http://img1.sycdn.imooc.com//5e32573e0001103112200800.jpg

    http://img1.sycdn.imooc.com//5e3257480001a42709900684.jpg

    http://img1.sycdn.imooc.com//5e32575100017ec013240728.jpg

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

    2020-01-30

  • 拷贝构造函数的参数是确定的,不能重载 

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

    2020-01-30

  • 未看,跳过,考完后补。

    查看全部
  • 实例化三个对象,但只打印了一个Student,

    http://img1.sycdn.imooc.com//5e3250a30001d43c13940698.jpg

    实例化一定调用构造函数,但不是调用的不是普通的构造函数,而是一种特殊的构造函数,叫拷贝构造函数。

    拷贝构造函数在名称上与普通的构造函数一样,但在参数上有严格要求:

    http://img1.sycdn.imooc.com//5e3250b40001982d11340786.jpg上图中stu2和stu3实例化对象时执行的是拷贝构造函数。

    http://img1.sycdn.imooc.com//5e3250c8000149ed12560746.jpg

    http://img1.sycdn.imooc.com//5e3250ca0001e04512640768.jpg

    http://img1.sycdn.imooc.com//5e3250d7000146c911700852.jpg

    查看全部
  • 卡了4:15未完成


    查看全部
  • 不急,未做笔记

    查看全部
  • http://img1.sycdn.imooc.com//5e3242eb0001225809120700.jpg

    Const 不能被付值

    http://img1.sycdn.imooc.com//5e3242fe0001b91409360716.jpg

    查看全部
  • 默认构造函数:实例化两个对象:
    int main(void){
        Student stu1();
        Student *p = NULL;
        p = new Student();//从堆中去实例化一个对象,并用指针去指向它
    
    }
    
    //默认构造函数,在实例化是不需要传递参数的构造函数叫做默认构造函数
    class Student{
    public:
        Student(){}//默认构造函数法一
        Student(string name = "lizhien");//默认构造函数法二
    private:
        string m_strName;
    }
    
            构造函数初始化列表
    class  Student
    {
    public:
        Student():m_strName("lizhien"),m_iAge(10){}//注意语法
    private:
        string m_strName;
        int m_iAge;
    };
    
    初始化列表特性:
    初始化列表先于构造函数执行
            初始化列表只能用于构造函数
    初始化列表可以同时初始化多个数据成员


    查看全部
  • 代码未敲,不急,考完再看

    查看全部
  • 对象的结构

    内存分区:

    栈区:内存不用程序员操心,堆区,用new定义,程序员需要用delete来释放空间

    http://img1.sycdn.imooc.com//5e323c5b00015f5012820796.jpg

    为避免多次初始化或者忘记初始化,采用构造函数:

    构造函数在对象实例化时被自动调用

    构造函数与类同名

    构造函数没有返回值

    构造函数可以有多个重载形式

    实例化对象时仅用到一个构造函数

    当用户没有定义构造函数时,编译器自动生成一个构造函数,空的

    http://img1.sycdn.imooc.com//5e323c4f0001549e10080710.jpg

    http://img1.sycdn.imooc.com//5e323c690001690f11740766.jpghttp://img1.sycdn.imooc.com//5e323c7400018dea11560796.jpg

    查看全部
  • 分文件类外定义先略视频9分后

    查看全部
  • //同文件类外定义代码演示
    #include <iostream>
    #include <stdlib.h>
    #include <string.h>
    using namespace std;
    
    class Teacher
    {
    public:
        //只声明其成员函数7个set get,函数实现在类外进行实现
        void setName(string _name);
        string getName();
        void setGender(string _gender);
        string getGender();
        void setAge(int _age);
        int getAge();
        void teach();
    private:
        string m_strName;
        string m_strGender;
        int m_iAge;
    };
    //开始类外定义
    void Teacher::setName(string _name){
        m_strName = _name;
    }
    string Teacher::getName(){
        return m_strName;
    }
    void Teacher::setAge(int _age){
        m_iAge = _age;
    }
    int Teacher::getAge(){
        return m_iAge;
    }
    void Teacher::setGender(string _gender){
        m_strGender = _gender;
    }
    string Teacher::getGender(){
        return m_strGender;
    }
    void Teacher::teach(){
        cout << "现在开始上课" << endl;
    }
    int main(){
        Teacher t;
        t.setName("孔子");
        t.setAge(30);
        t.setGender("男");
        cout << t.getName() << " "<< t.getGender() << " " << t.getAge() <<endl;
        t.teach();
        return 0;
    
    }


    查看全部

举报

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

微信扫码,参与3人拼团

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

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