C++重拾

1.前后排序
冒泡函数重新认识-内外循环

2.C++
1)函数重载:即两个或以上的函数,函数名相同,但形参类型或个数不同
2)函数模板:建立一个通用函数,其函数类型和形参类型不具体指定,用一个虚拟的类型来代表
3)内联函数:提高函数的执行效率
inline int max(int a, int b)
{
return a > b ? a : b;
}
则调用: cout<<max(a, b)<<endl;
在编译时展开为: cout<<(a > b ? a : b)<<endl;
从而消除了把 max写成函数的额外执行开销

注:宏在C++中基本是被废了,很多书中推荐“用函数内联取代宏”


4)::
作用域限定符,比如在类外定义函数体
int Student::print(){
...
}

5)构造函数/析构函数
相同点:与类名相同,没有返回值,如果用户不定义,系统也会自动生成一个空的析构函数
不同点:构造可以重载,而析构却不能重载,但它可以是虚函数,一个类只能有一个析构函数。
注:
虚基类:
如何使用:在继承类型public之前用virtual修饰一下,比如,
class Father1:virtual public Grandfather
class Father2:virtual public Grandfather
作用:
派生类和基类就只维护一份一个基类对象。避免多次拷贝,出现歧义。

6)拷贝构造函数
定义:与类名同名,且形参是本类对象的引用类型的函数,当我们不主动定义的时候,系统也会自动生成一个
作用:进行两个对象成员之间对应的简单赋值,用来初始化一个对象
Circle A(5);
Circle B(A); //调用拷贝构造函数

this:
指向当前对象的指针

7)多态
同样的方法被不同对象执行时会有不同的执行效果

虚函数
允许函数在调用时与函数体的联系在运行的时候才建立,即所谓的动态联编


3.输入
gets/puts
getchar自定义函数

习题:输入[aaa,bbb,ccc,ddd],分别打印出aaa bbb ccc ddd

原文地址:https://www.cnblogs.com/stellar/p/8746499.html