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修饰复制构造函数可以禁止复制

另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


文章标题:c++笔记续-创新互联
本文来源:http://scyanting.com/article/pgese.html