温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

c++笔记续

发布时间:2020-03-02 02:05:21 来源:网络 阅读:367 作者:a_liujin 栏目:系统运维

<center>c++笔记</center>

1.c++的变量初始化只有2种

  • 直接初始化:使用括号,int a(10);
  • 复制初始化:使用=,int a=10; (对象的复制构造函数)

2.cin与getline读字符串

  • cin读入字符串以空格为分割
  • getline(cin,line)读入字符串,以‘\n’为分割

3.函数指针

bool lencom(void);
typedef bool (*fun)(void);
fun pf1 = lencom;
fun pf1 = &lencom; //独立函数直接使用函数名和在前面加&是等效的。
成员函数必须使用&

4.默认构造函数

  • 默认构造函数的调用时机:在定义一个对象时,只要没有提供初始化式,就将调用默认构造函数。
  • 类的默认构造函数:一个类哪怕只定义了一个构造函数,编译器将不再自动生成默认构造函数
  • 自定义默认构造函数:无参构造函数是该类的默认构造函数。
  • 使用默认构造函数:

    Sales_item myobj(); #error 申明一个函数而不是定义对象;
    Sales_item myobj;#正确,调用默认构造函数
    Sales_item myobj=Sales_item();#正确,复制赋值

5.复制构造函数

  • 使用时机:当使用一个同类型的对象对新定义的对象进行初始化时,将显式的使用复制构造函数;当将该类型的对象传递给函数或从函数返回该类型的对象,将隐式使用复制构造函数;初始化顺序容器中的元素;根据元素初始化式列表初始化数组元素。例如:vector<string>svec(5)的过程为编译器首先使用string的默认构造函数创建一个临时值来初始化svec,然后使用复制构造函数将临时值复制到svec的每一个元素。
  • 默认复制构造函数:如果该类不存在复制构造函数,那么编译器总是会为该类合成一个复制构造函数。该合成的默认构造函数的行为是,执行逐个成员初始化,将新对象初始化为原对象的副本,即非static成员完全保持相同。
  • 禁止复制 使用private修饰复制构造函数可以禁止复制
向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI