c++笔记续

c++笔记

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.复制构造函数

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

网页名称:c++笔记续
网页地址:http://azwzsj.com/article/gegods.html