为了账号安全,请及时绑定邮箱和手机立即绑定
  • 数据的封装

    class Student

    {

        public:

            void setAge(int _age){age = _age}

            int getAge(){return age;}

        private:

            string name;

            int age;

    };

    查看全部
  • 判断输入的是汉字还是英文

    if(name[0]<0){   //汉字
        cout << "第一个字为:"<<name[0]<<name[1]<<endl;  //有的编译器需要name[0]<<name[1]<<name[2]???
    }
    else{
        cout<< "first letter is: "<<name[0]<<endl;
    }


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

    2018-12-11

  • cin.getline()函数是处理数组字符串的,其原型为cin.getline(char * , int),第一个参数为一个char指针,第二个参数为数组字符串长度。

    getline(cin,str)函数是处理string类的函数。第二个参数为string类型的变量。

    1. 直接使用cin的>>操作符从键盘输入字符串时,空格会被当做输入的分隔符。例如,输入字符串“123 ABC"时,那么被读入的字符串就是“123”,而“ABC”将作为下一波被读入。所以若你想不以中间的空格作为输入的分隔符,可以使用头文件string中定义的getline,并且输入字符串时只以换行符作为分隔符。

        2.getline还允许在输入字符串时增加其他分隔符,使用方法是吧可以作为分隔符的字符作为第三个参数传递        给getline。如getline(cin,s2,',');


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

    2018-12-11

  • 用string需要头文件 #inclue <string>

    初始化string对象的方式:

    string s1;   //s1为空串
    string s2("ABC");   //用字符串字面值初始化s2
    string s0="DEF";
    string s3(s2);    //将s3初始化为s2的一个副本
    string s4(n,'c');    //将s4初始化为字符‘c’的n个副本,若n=3,s4="ccc"

    【常用操作】

    s.empty();  若s为空串,则返回true,否则返回false

    s.size();  返回s中字符的个数

    s[n];  返回s中位置为n的字符

    s1+s2;  将两个字符连接成新串并返回新串

    s1=s2;  将s1的内容替换为s2的副本

    v1==v2;  判断相等,返回true;否则返回false   

    v1 !=v2;  判断不相等

    【字符串拼接】

    s1+s2;      "hello"+s2;      "hello"+s2+"world";  这三种都是合法的

    "hello"+"world"是不合法的 

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

    2021-05-03

  • 定义类最后要加分号;

    【从栈实例化对象】

    int main(){
        TV tv;   //定义一个对象。TV是类的名称,tv是对象名称
        TV tu[20];   //定义一个对象的数组,写明有多少个元素
        tv.type=0;    //对象成员访问,可以赋值
        tv.changeVol();    //也可以访问成员函数
    }

    【从堆中实例化对象】

    int main(){
        TV *p=new TV();   //指针指向内存,内存是用new申请的
        TV *q=new TV[20];
        p->type=0;    //对象成员访问,->
        p->changeVol();
        for(int i=0;i<20;i++){   //若定义的是数组,通过for循环访问对象成员
            q[i]->type=0;
            q[i]->changeVol();
        }
        delete p;     //释放内存。在栈中系统会自动释放,但是堆中则不
        delete []q;
        p=NULL;
        q=NULL;
        return 0;
    }

    【堆】

    new申请内存时可能失败,如何判断?

    if(NULL==P){
        return 0;  //申请内存失败
    }


    查看全部
  • 目的不同,同样的对象可以抽象出不同的类

    类:数据成员(属性)、成员函数(方法)

    访问限定符:public公共的   protected受保护的 private私有的

    【举例】

    class TV{
    public:
        char name[20];
    private:
        电阻调节;
    }


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

    2018-12-11

  • 除析构函数以外的成员函数都可以重载。

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

    2018-12-09

  • 对象的生命历程

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

    2018-12-09

  • 析构函数的特点

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

    2018-12-09

  • 析构函数在函数名前加一个“小尾巴”,析构函数是不能有参数的,它在对象销毁时被自动调用。

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

    2018-12-09

  • 函数重载要求形参有不同的地方,比如个数,比如类型

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

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

    2018-12-09

  • 调用了拷贝构造函数是因为在main函数中调用test函数时触发了它的拷贝过程,从而自动调用了它的拷贝构造函数。

    查看全部
  • 拷贝构造函数的两种调用方式:Teacher t2=t1;和Teacher t3(t1);

    查看全部
  • 构造函数总结

    查看全部
  • 构造函数总结

    查看全部

举报

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

微信扫码,参与3人拼团

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

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