可以将指向const对象的指针初始化为指向非const对象,但不可以让指向非const对象的指针指向const对象。
如果函数使用非引用的非const形参,则既可以给该函数传递const实参,也可传递非cosnt的实参。
如果函数具有普通的非const引用形参,则显然不能通过const对象进行调用。
非const引用形参只能与完全同类型的非const对象关联。
应该将不需要修改的引用形参定义为const引用。普通的非const引用形参在使用时不太灵活。这样的形参既不能用const对象初始化,也不能用字面值或产生右值的表达式实参初始化。
返回类型不是void的函数必须返回一个值。允许主函数main没有返回值就可结束。
默认实参只能用来替换函数调用缺少的尾部实参。
常量成员函数:类的成员的函数,并可以由该类类型的常量对象调用。常量成员函数不能修改所操纵的对象的数据成员。
bool same_isbn(const Sales_item &rhs) const
{ return isbn == rhs.isbn; }
const改变了隐含的this形参的类型。
在调用total.same_isbn(trans)时,隐含的this形参将是一个指向total对象的const Sales_Item*类型的指针。
构造函数是放在类的public部分。
如果将构造函数定义为private的,则不能定义类的对象。
由编译器创建的默认构造函数通常称为合成的默认构造函数,合成的默认构造函数不会自动初始化内置类型的成员。
无法将整型值传递给枚举类型的形参,但可以将枚举值传递给整形形参。
仅当形参是引用或指针时,形参是否为const才有影响。
不能基于指针本身是否为const来实现函数的重载。
f(int *);
f(int *const); //redeclaration
第7章 函数
最新推荐文章于 2022-11-11 18:56:02 发布