1.构造函数与析构函数都是名字与类名一样,不写返回值,但有返回值,其返回值直接返回到系统
2.函数的缺省值必须从右往左依次缺省,当有缺省值,缺省参数可以不给出。
3.当派生类与父类有同样的函数时,可以以“类名::”来调用相应的函数。若不加,则派生类函数会自动覆盖父类的函数
4.getline(char* s,int length,char c)函数的参数有三个,第一个参数为从键盘上读取内容后的存储变量,第二个参数为从键盘读取内容的长度,第三个为结束符号,缺省值为'/n'
5.如果类的构造函数有一个构造参数,则在必要的时候,系统会将参数类型的数据自动类型转换为该类的类型。explicit(显式)关键字,就是杜绝这种自动类型转换的。比如: class Myclass { MyClass(int i)//explicit没有声明构造函数为显式的 { m_i=i; }; }; void fun(MyClass obj) { obj.print(); } int main() { fun(5);//自动类型转换,,5将显式调用构造函数,构造临时对象,如有explicit关键字,则无法转换,此时将报错 return 0; }
6.构造函数若只有一个参数,且有缺省值时,若想使用缺省值,则在定义对象时,不能带(),或()内赋予缺省值
7.在成员函数中,this指针隐含指向当前对象,即this指针存放当前对象的地址
8.二位数组a的首地址,并不是数组名a 。而是a[0]或&a[0][0]或*a,数组在内存中存放形式是一块连续的内存块
9.C++字符串的连接不需要用到任何运算符。如果字符串太长一行换不了,那么可以使用续行符"/",下一行的字符串必须顶格
10.静态修饰符只可以修饰一个变量,若修饰多个,发生意想不到的情况。
11.<assert.h>中,assert()是断言函数,如果()里为假,则会产生一个中断异常.