为了账号安全,请及时绑定邮箱和手机立即绑定
  • 构造函数。。


    查看全部
  • // 使用new关键字,实例化对象
        Student *str = new Student;
        // 设置对象的数据成员
        str->setName("慕课网");
        // 使用cout打印对象str的数据成员
        cout << str->getName() <<endl;
        // 将对象str的内存释放,并将其置空
        delete str;
        str = NULL;
        return 0;
    1. 不要漏掉str->getName()后的  ()  ;

    2. str 是 Student 类型的,所以申请的内存类型也是 Student ;

    3. str 是 Student 类型而非 数组 ,所以不可以用 delete []str ;

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

    2020-01-21

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

    2020-01-20

  • string

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

    2020-01-20

  • 当初始化的数据为const类型的时候,初始化列表存在就很有必要性http://img1.sycdn.imooc.com//5e24721500014c0e10450550.jpg

    查看全部


  • 类内定义与内联函数:

    关于内联函数:

    关键字:inline

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

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

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


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

    2020-01-18

  • http://img1.sycdn.imooc.com//5e227a380001688e12680804.jpg


    #include <iostream>
    #include <stdlib.h>
    #include <string>
    using namespace std;
    //数据成员命名规则:m_数据类型+名字,这样看到就知道它是定义在类里面的数据成员了
    class Student{
    public:
    void setName(string _name){
    m_strName = _name;
    }
    string getName(){
    return m_strName;
    }
    void setGender(string _gender){
    m_strGender = _gender;
    }
    string getGender(){
    return m_strGender;
    }
    int getScore(){
    return m_iScore;
    }
    void initScore(){
    m_iScore = 0;
    }
    void study(int _score){
    m_iScore += _score;
    }
    private:
    string m_strName;
    string m_strGender;
    int m_iScore;
    }
    int main(){
    //实例化累的对象
    Student stu;
    stu.initScore();//需要初始化
    stu.setName("zhangsan");
    stu.setGender("女");
    stu.study(5);
    stu.study(3);
    cout<<stu.getName()<<" "<<stu.getGender()<<" "<<stu.getScore()<<endl;
    return 0;
    }


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

    上例违背了面向对象的思想。

    面向对象的基本思想:

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

    封装的好处:http://img1.sycdn.imooc.com//5e2279080001f8a212880692.jpg

    希望成员变量只能被外界读取,而不被外界改变:

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




    查看全部
  • #include <iostream>
    #include <stdlib.h>
    #include <string>
    using namespace std;
    
    
    
    int main(){
        string name;
        cout<<"Please input your name:";
        //不能简单使用cin,因为要判断是否为空
        getline(cin,name);//若输入的是一个空串,则给cin空串若非空,也给cin
        if(name.empty()){//是回车
            cout<<"input is null.."<<endl;
            system("pause");
            return 0;
        }
        //字符串的对比
        if(name == "imooc"){
            cout<<"you are a administrator"<<endl;
        }
        //注意理解记忆
        cout<<"hello"+name<<endl;
        //cout<<"your name length:"+name.size()<<endl;
        //有问题是因为前为字符串后不为字符串,连接不能用+,用<<
        cout<<"your name length:"<<name.size()<<endl;
        cout<<"your name first letter is:"<<name[0]<<endl;//因为name[0]是一个char不用用+号
    
        return 0;
    }

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

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

    2020-01-18

  • http://img1.sycdn.imooc.com//5e226a9b000109e610340704.jpghttp://img1.sycdn.imooc.com//5e226aa90001e2af12520642.jpg

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

    可以不再使用众多str的函数。需要注意s1+s2.


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

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

    2020-01-18


  • #include <iostream>
    #include <stdlib.h>
    using namespace std;
    
    class Coordinate{
    public:
        int x;
        int y;
        void printX(){
            cout<<x<<endl;
        }
        void printY(){
            cout<<y<<endl;
        }
    };
    
    int main(){
        //在栈中定一个对象
        Coordinate coor;
        coor.x = 10;
        coor.y = 20;
        coor.printX();
        coor.printY();
    
        //在堆中实例化一个对象
        Coordinate *p = new Coordinate();
        //容易忘记判断
        if(NULL == p){
            //failed;
            return 0;
        }
        p->x = 30;
        p->y = 40;
        p->printX();
        p->printY();
        //容易忘
        delete p;
        p = NULL;
        system("pause");
        return 0;
    }


    查看全部
  • 对象成员的访问:

    分为通过栈、堆实例化对象(下例是单一对象):

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

    若是对象数组:

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




    查看全部
  • 对象实例化,类是一个模板

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

    实例化类有两种方式:从栈实例化、从堆实例化

    从栈实例化:

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

    从堆中实例化:

    int main(){
        TV *p = new TV();//new运算符申请出来的运算符就是在堆上
        TV *q = new TV[20];
        //todo
        delete p;
        delete []q;
        return 0;
    }


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

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


    如何把想显示的东西暴露,把想隐藏的东西隐藏:访问限定符

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

    对象是具体的事物,而类是从多个对象中抽象出来的。


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

    2020-01-17

  • http://img1.sycdn.imooc.com//5e1dbaf300010b3211190583.jpg字符串的常用操作

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

    2020-01-14

举报

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

微信扫码,参与3人拼团

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

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