请看 函数 的连续调用
int main()
{
myScreen.clear().move(2,2).set('*').display();
bufScreen.reSize(5,5).display();
}
这些函数的共同特点是需要 返回自身的对象
也就是:
// 返回被调用的对象
return *this;
记住 this 是一个指针
Static
不需要对象只要 类名:: 就可以访问了
静态数据成员可以是其受属类
看好,不是引用也不是指针哦
class Bar {
public:
private:
static Bar mem1; // ok
Bar *mem2; // ok
Bar mem3; // 错误
};
缺省实参
可以直接做为缺省实参,而非的却不可以
extern int var;
class Foo {
private:
int var;
static int stcvar;
public:
// 错误: 被解析为非 static 的 Foo::var
// 没有相关的类对象
int mem1( int = var );
// ok: 解析为 static 的 Foo::stcvar
// 无需相关的类对象
int mem2( int = stcvar );
// ok: int var 的全局实例
int mem3( int = ::var );
};
没有评论:
发表评论