初始化const或引用类型要用初始化列表
-------------------------------------------------
Test mytest();/ error
Test mytest;/right
Test mytest= Test();/right
-------------------------------------------------
除非有特殊声明要定义隐式转换,否则,单形参构造函数都应该未 explicit
string null_book="9-898-898";
item.same_isbn(Sales_item(null_book));
-------------------------------------------------
友元:
class a{
friend calss Test1;
};
class c{
friend Test2& Test::GetMessage(c & );
};
必须先定义包含成员函数的类
class A{
friend class Y;
friend void f();
};
class Z{
Y *ymen; // 因为 A类已经声明过了
void g(){ return ::f();}
};
----------------------------------------
重载与友元
extern ostream& storeon();
extern BitMap& storeon(BitMap& );
class Screen{
friend ostream& storeon ();
};
类Screen接受一个友元的,一个对自己没有特殊权限的storeon函数