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