1、标准C++要求main函数必须声明为int型。有的os(unix,linux)要求执行一个程序后必须向os返回一个数值。因此,C++程序正常执行时,返回0,否则返回-1.
只要记住:在main前加int,同时在main函数最后加语句return 0;
2、"." 成员运算符,把对象和成员联接起来。<对象名>.<数据成员名>或者<对象名>.<成员函数名>(<参数表>)
"->"指向运算符,指向对象的指针的成员。<对象指针名> -> <数据成员名>或者<对象指针名> -> <成员函数名>(<参数表>)
<对象指针名>-><成员名>等价于(*<对象指针名>).<成员名>
"::"作用域运算符,如果希望在局部变量的作用域内使用同名的全局变量,可以在该变量前加上“::”
3、函数的声明:即是函数原型。如果对函数的调用在定义之前,那么需要声明,一般函数定于放在main函数之后,所以,在main函数之前,要声明。
函数类型 函数名(参数表)参数表一般包括参数类型和参数名,也可以只包括参数类型,因为在编译时只检查参数类型,而不检查参数名。
4、函数的重载overload:一个函数名多用,c语言中规定在同一个作用域(同一个文件模块)中不允许有同名函数,C++中允许,但是参数个数和参数类型不相同。
(1)相同的范围(在同一个类中);
(2)函数名字相同;
(3)参数不同;
(4)virtual 关键字可有可无。
函数的覆盖override:派生类函数覆盖基类函数
(1)不同的范围(分别位于派生类与基类);
(2)函数名字相同;
(3)参数相同;
(4)基类函数必须有virtual 关键字。
函数的隐藏hide:指派生类的函数屏蔽了与其同名的基类函数
(1)如果派生类的函数与基类的函数同名,但是参数不同。此时,不论有无virtual关键字,基类的函数将被隐藏(注意别与重载混淆)。
(2)如果派生类的函数与基类的函数同名,并且参数也相同,但是基类函数没有virtual关键字。此时,基类的函数被隐藏(注意别与覆盖混淆)
三者的关系为:重载和覆盖的区别主要在一个是在同一个类中,另一个是派生类与基类的关系,另外,参数是否相同。
重载和隐藏的区别在于范围不同。
覆盖和隐藏的区别在于基类有没有virtual关键字。
浙公网安备 33010602011771号