摘要: 纯虚函数和定义 在许多情况下,在基类中不能对虚函数给出有意义有实现,而把它说明为纯虚函数。纯虚函数是没有函数体的虚函数,它的实现留给该基类的派生类去做,这就是纯虚函数的作用。 class A { private: int a; public: virtual void Print( ) = 0 ; 阅读全文
posted @ 2019-05-02 16:32 王陸 阅读(12) 评论(0) 编辑
摘要: 名字重载Name overloading 如果顶层函数有不同的签名,则函数名可以相同。 如果同一类中的函数有不同的签名,则函数名可以相同。 C++中允许在相同的作用域内以相同的名字定义几个不同实现的函数,可以是成员函数,也可以是非成员函数。但是,定义这种重载函数时要求函数的参数或者至少有一个类型不同阅读全文
posted @ 2019-05-02 15:06 王陸 阅读(38) 评论(0) 编辑
摘要: 为什么使用友元? 例如:求两点之间的距离 解决方法:设计一个函数计算两点间的距离,解决方案普通函数,成员函数和类的组合都不好,最好采用友元关系。 友元 面向对象程序设计主张程序的封装、数据的隐藏,不过任何事物都不是绝对的,友元打破了这种封装和隐藏。 友元关系提供了一种共享机制,实现不同类或对象的成员阅读全文
posted @ 2019-05-02 11:38 王陸 阅读(23) 评论(0) 编辑
摘要: 我们知道C++的类应当是先定义,然后使用。但在处理相对复杂的问题、考虑类的组合时,很可能遇到俩个类相互引用的情况,这种情况称为循环依赖。 例如: 这里类A的公有成员函数f的形参是类B的对象,同时类B的公有成员函数g也以类A的对象为形参。由于在使用一个类之前,必须首先定义该类,因此无论将哪一个类的定义阅读全文
posted @ 2019-05-02 10:14 王陸 阅读(50) 评论(0) 编辑