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.复制构造函数
- 使用时机:当使用一个同类型的对象对新定义的对象进行初始化时,将显式的使用复制构造函数;当将该类型的对象传递给函数或从函数返回该类型的对象,将隐式使用复制构造函数;初始化顺序容器中的元素;根据元素初始化式列表初始化数组元素。例如:vector
svec(5)的过程为编译器首先使用string的默认构造函数创建一个临时值来初始化svec,然后使用复制构造函数将临时值复制到svec的每一个元素。 - 默认复制构造函数:如果该类不存在复制构造函数,那么编译器总是会为该类合成一个复制构造函数。该合成的默认构造函数的行为是,执行逐个成员初始化,将新对象初始化为原对象的副本,即非static成员完全保持相同。
- 禁止复制 使用private修饰复制构造函数可以禁止复制
另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
分享标题:c++笔记续-创新互联
文章位置:http://scyanting.com/article/pgese.html