可变参数与没有形参的申明:C语言: C语言没有bool类型,C99 定义了 bool 类型,并通过 stdbool.h 实现与 C++兼容 • func(); 表示可变参数 |
默认参数的函数声明:C语言:不支持函数默认参数和值 //带默认参数的函数声明(要单独写出) 或者也可以把默认声明和函数实现写在一起: void func(int n=1, float b=1.2, char c='@'){ 例如: func(); //func(1,1.2,'@') |
私有成员的访问:• 只有类和友元函数可以访问私有成员。(友元函数是虽然不是类成员却能够访问类的所有成员的函数。类授予它的友元特别的访问权) |
构造函数: • 类的构造函数是类的一种特殊的成员函数,每次创建类的一个新对象时会自动执行它,完成初始化等逻辑。 • 构造函数在创建该类的新对象时,会自动调用执行 • 构造函数也可以带有参数,这样在创建对象时就可使用参数构造对象。 Line line(10.0); 创建对象时,自动执行构造函数 • 构造函数也能使用默认实参
•构造函数可以是公有的、私有的、保护的,但析构函数只能是公有的 |
析构函数:• 析构函数只能是公有的,因为对象生命周期结束后,系统会调用,如果不是公有的则会引发错误 • 类的析构函数是类的一种特殊的成员函数,它会在对象被释放前自动执行。 • 析构函数的名称与类的名称是完全相同的,只是在前面加了个波浪号(~)作为前缀,它不会返回任何值,也不能带有任何参数。 • 如果用户没有自定义构造函数,则编译会自动生成一个默认析构函数(实际没有效果) • 多个对象在同一层,则跳出这层时,先被创建的会最后被析构 |
this 指针:• 每一个对象都能通过 this 指针来访问自己的地址。 • 当成员函数中的参数与数据成员重名时, 必须用 this 访问数据成员
|