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

    1、拷贝函数定义格式:

    类名(const 类名&变量名)

    Student(const Student&stu){   }

    注:不定义拷贝默认函数,系统会自动生成

           拷贝函数参数是确定的,不得重载

    调用:

    Student stu1;
    Student stu2=stu1;
    Student stu3(stu1);//后两个调用拷贝构造函数


    查看全部
  • 五、构造函数初始化列表

    1、默认构造函数

    在实例化对象时不需要传递参数的函数称为默认构造函数 

    2、构造函数初始化列表

    语法:

    构造函数:数据成员1(初始化值),数据成员二(初始化值)。。。{    }

    特性:

    a、初始化列表先于构造函数执行

    b、初始化列表只能用于构造函数

    c、初始化列表可以同时初始化多个数据成员

    必要性:

    数据成员若用const修饰为常量,则只有用初始化列表才能编译通过

    查看全部
  • 四、构造函数

    1、内存分区

    栈区: int x=0;   int *p=NULL;//内存的申请释放由系统进行,不用用户借入

    堆区:int *p=new int[20];//用户必须使用delete回收

    全局区:存储全局变量及静态变量

    常量区:string str="hello";//存储字符串及常量

    代码区:存储逻辑代码的二进制

    2、对象初始化

    分类:

    a、有且仅有一次

    b、根据条件初始化

    3、构造函数

    特点:

    a、再对象实例化时自动调用且仅被调用一次,可用来避免初始化忘记或重复初始化的错误

    b、构造函数要与类同名

    c、构造函数没有返回值

    d、构造函数有多个重载形式

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

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

    分类:

    有参构造函数与无参构造函数

    查看全部
  • 三、类内及类外定义

    1、类内定义与内联函数的关系:

    类内定义的函数编译器会将其优先编译为内联函数

    2、类外定义:

    分类

    同文件类外定义:虽然不在类内定义,但定义的函数和类在同一文件内

    class Car{  void run(); };
    void Car::run(){  }

    分文件类外定义(常用)

    编辑.h文件,名字最好与.cpp文件相同,.h文件中存放数据成员与成员函数,.cpp文件中对函数再描述

    void  类名::函数名() {  }

    注意.cpp文件中要引用#include"类名.h"

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

    2018-07-18

  •  二、string类型

    注意应加头文件#include<string>

    1、初始化string对象

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

    2、string常用操作

    string s;
    s.empty();//若s为空,返回true,否则返回false
    s.size();//返回s中字符个数;通过.运用string类型中的函数
    s[n]//返回s中位置为n的字符,位置从0开始

    3、getline函数

    getline(输入流,字符串,中止符)

    将用户输入的内容存入字符串中,遇到终止符停止读入。不设置终止符时终止符默认为‘/n’换行符


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

    2018-07-17

  • 一、class类和对象

    1、定义

    对象:一个实体

    类:从对象中抽象出来描述某个对象的,类中包含数据成员(又称属性)和成员函数(又称方法)

     2、对象实例化

    类相当于一个模板,对象实例化即是根据一个类的设计,制造出多个对象的过程

    分为栈中实例化与堆中实例化

    从堆中实例化要用new开新空间,最后一定要释放;而在栈中则不需要,系统会自动处理

    Student *str=new Studnt;//在堆中实例化
    delete str;
    str=NULL;//释放

    3、对象成员访问方法

    栈:用  .   例如TV tv;   tv.type=0;

    堆:用->   例如TV *p=new TV();   p->type=0;

    查看全部
  • //类的声明.h文件

    1.在类中定义所需的关键字(private);然后对类中定义的全部成员进行声明(set.get方法)

    void setName(string name);

     string getName();

    2.在private,puclic操作之后开始内外定义(实例化set.get方法)

    #include "Teacher.h"

    #include <iostream>

    #include <string>

    using namespace std;

    void Teacher::setName(string _name){

    m_strName=_name;

    }

    string Teacher::getName(){

    return m_strName;

    }

    void Teacher::setGender(string _gender){

    m_strGender=_gender;

    }

    string Teacher::getGender(){

    return m_strGender;

    }

    void Teacher::setAge(int _age){

    m_iAge=_age;

    }

    int Teacher::getAge(){

    return m_iAge;

    }

    void Teacher::teach(){//Teacher拥有的操作

    cout<<"现在开始上课"<<endl;

    }

    3.在主函数中实例化对象

    创造对象

    实现对象

    int main(){

    Teacher t;

    t.setName("栗子");

    t.setGender("女");

    t.setAge(24);

    cout<<t.getName()<<" "<<t.getGender()<<" "<<t.getAge()<<" ";

    t.teach();

    system("pause");

    return 0;


    查看全部
  • string的常用操作

    具体使用: string s1 = “hello”;

                      string s2("world");

                      string s3 = s1 + s2;

                       string s4 = "hello" + s2;

     注意: string s6 = "hello" + "world"; 是非法的,只有字符串跟字符串之间不能连接,只能跟变量连接。


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

    2018-07-09

  • https://img1.sycdn.imooc.com//5b42089e0001d05c19201080.jpgddadasdas


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

    2018-07-08

  • public 公共的

    protected 受保护的

    private 私有的

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

    2018-07-06

  • ~类名() { delete []指针名 }
    查看全部
    0 采集 收起 来源:C++ 析构函数

    2018-07-06

  • char *m_pName m_pName存的地址 *m_pName这个地址下面的内容被规定为char类型。
    查看全部
    0 采集 收起 来源:C++ 析构函数

    2018-07-06

  • 比如圆周率pie是常量,private里面定义时用cpnst修饰,所以使用一般的实例化方法会报错。所以这时候需要使用列表方法来做,就不会报错。
    查看全部
  • 有参构造函数重载 类似于MATLAB里面的函数根据多个变量输入的形式。目的在于此。
    查看全部
  • 对象的生命历程:

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

    2018-07-04

举报

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

微信扫码,参与3人拼团

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

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