《C++ Primer》之面向对象编程(三)

时间:2023-03-08 22:12:55
《C++ Primer》之面向对象编程(三)
  • 继承情况下的类作用域

在继承情况下,派生类的作用域嵌套在基类作用域中。如果不能在派生类作用域中确定名字,就在外围基类作用域中查找该名字的定义。正是这种类作用域的层次嵌套使我们能够直接访问基类的成员,就好象这些成员是派生类成员一样。如果编写如下代码:

Bulk_item bulk;
cout << bulk.book();

名字 book 的使用将这样确定:bulkBulk_item 类对象,在 Bulk_item 类中查找,找不到名字 book;因为从 Item_base 派生 Bulk_item,所以接着在 Item_base 类中查找,找到名字 book,引用成功地确定了。

  • 名字查找在编译时发生

对象、引用或指针的静态类型决定了对象能够完成的行为。甚至当静态类型和动态类型可能不同的时候,就像使用基类类型的引用或指针时可能会发生的,静态类型仍然决定着可以使用什么成员。例如,可以给 Disc_item 类增加一个成员,该成员返回一个保存最小(或最大)数量和折扣价格的 pair 对象:

class Disc_item : public Item_base {
public:
std::pair<size_t, double> discount_policy() const
{ return std::make_pair(quantity, discount); }
// other members as before
};

只能通过 Disc_item 类型或 Disc_item 派生类型的对象、指针或引用访问 discount_policy

Bulk_item bulk;
Bulk_item *bulkP = &bulk; // ok: static and dynamic types are the same
Item_base *itemP = &bulk; // ok: static and dynamic types differ
bulkP->discount_policy(); // ok: bulkP has type Bulk_item*
itemP->discount_policy(); // error: itemP has type Item_base*

重新定义 itemP 的访问是错误的,因为基类类型的指针(引用或对象)只能访问对象的基类部分,而在基类中没有定义 discount_policy 成员。//根本原因在于,函数名字需要在编译时决定,所以在编译时itemP->discount_policy(),找不到Item_base类中有discount_policy成员,所以会出现错误

我们举个例子来说明一下,比如说派生类中有成员print_derived,而基类中没有:

aaarticlea/png;base64,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" alt="" />

而我们尝试用基类指针去调用这个成员:

aaarticlea/png;base64,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" alt="" />

就会报错:

aaarticlea/png;base64,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" alt="" />

因为在编译阶段找不到基类对象中有print_derived这个成员,但是,如果我们避免这样使用,而是在基类中有一个虚成员,那么就没问题:

aaarticlea/png;base64,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" alt="" />

aaarticlea/png;base64,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" alt="" />

这样再调用:

aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAK4AAABwCAIAAAAIWtzmAAAEw0lEQVR4nO2cXW7kIBAG5yRccC+RQ42Up5xjj5N9SMtL+G1wY8CuUrTaeDxATA1g/GleDsA559xrdgNgFVABBFQAARVAQAUQUAEEVAABFUBABRBQAYSKCt9/X/7PycpMCoFB1DvG77yTHWmuQmuBX59/vj7/GDbgTrSpEP86ndb2oEIOVADhlArxMsL/tfBSXELyhNwypXUF8zMvHD/+S+/3u/r2h9CvQlWR6mnJN56pN0nQ94wKOUapoCyt8EZUuJhTKuQG6iYVjoPlWQAVRmM2KhTeUn0pp0JTe3KggpL+fQWrCSJ3XKOgZtno9z37CgVO7TYW7iBal/250UJ531H+K/x7h8AG7iAO1tokuB5UOEAFVBCergIcoAIIqAACKoCACiCgAgioAALZxgm83+8F9zOekm3su/QjnlkcLSk0acqzkqcE2ro/hVNUGFFvlZurcAzFx7+tTlS75B1RPT/4T1+95jwi2xh3Uu5Bpf9qMgt5Hl9Nfb0XrC3un210KRXcbwmCTENwWrX8JvyBym/V9IjNzbONhQkid+lbu6RpggiGhGCgaqrXnPtnG3+Ie8hKhSYCCe6jgvIt1ZdyKjS1p8yCKsQT1rh6Ndw/25hDs1YwXzb63R+MENMzmI/INibR3EHkTjiDv6RI3tfMymCutUlwJXtFn1FhFIP2DMaBCnAdqAACKoCACiCgAgioAAIqgHBptnF31swkWnFptrED5aW/YL9o2UyiFTdRwY3fSF42iGbFoip0ZBJb++A2mUQrVCpUn0wW3hI/U9YvO5oyiYMeJPqNcRkP7vG9kDZ5hUUyibn4iQnLZhKtMAi/K9NsZBIXxyD8njynPDs0zRHBkelBNIcKwa+tCba+JeeCKqyWSbTCYK1QniBOJpVjpqwVVs4kWmGQbXS/bVDGG7tbPPEOYs1MohX77SXv9bFDhVGQSRzHZirAOFABBFQAARVAQAUQUGEzlM/KO0CFnQi639aG61TY6A77++P1/THnQ1KoN3kBDa+qzR+s3PbZxYYpKvxUur0KTr0fnGu61aVf8NNsUk6hy61suFoFl2k6KpTLma9C+ctHCpm+Mn7rj4ExHh41x4+XCuXE+Kflymk9Pz4YvD1ZWtywZINbVejwo+6y5juL/F+VQbHgeHwJ4s4oH8+VkyPom3Ltx0FlMwondNTrVhgV3JjUUNz6bhWq5WjO1Kugr1fjytNVUK4VgoE3OcDqL2WSY8DXtKdceJMK/lyjrOKGKujvIJSd2j1BuEkq9E0QboWbScPvNyy0O75SJ9cKfSaVj2tUyHV58oT9VHAW329YbXRh3Z6bHaqLuyrViUlZabn9LrIhd7BchX7jedQdRGuhMA7l4yh7FbbLEgbEa8+mMWNfhowK8BBQAQRUAAEVQEAFEFBhM8g2gnNkG69n4t7D0hvPSfr2nXaxYYoK1e2vRVVwvRvSZBv7ylniIXWO7t1oso0d5cxXYdD3JJJtLDxWTTZ49Wxj8jjZxvIJHfW6FUYFR7ZRV7i+/f6Rp6tAttGfa5RV3FAFso19E4Rb4WbS8HsSyTYGJ+yngrO4gyDbGEvQWgXZRvgP2cZO4rVn05ixL2QboR9UAAEVQEAFEFABBFQAARVAQAUQ/gFs9PdHcyqqkQAAAABJRU5ErkJggg==" alt="" />

会成功输出:

aaarticlea/png;base64,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" alt="" />

一来是因为基类中有了虚成员test_virtual所以在调用它时不会报错;二来是test_virtual是虚函数,实现了动态绑定,而上一个例子二者都不满足,所以无法实现动态绑定。

  • 名字冲突与继承

虽然可以直接访问基类成员,就像它是派生类成员一样,但是成员保留了它的基类成员资格。一般我们并不关心是哪个实际类包含成员,通常只在基类和派生类共享同一名字时才需要注意。与基类成员同名的派生类成员将屏蔽对基类成员的直接访问

struct Base {
Base(): mem() { }
protected:
int mem;
};
struct Derived : Base {
Derived(int i): mem(i) { } // initializes Derived::mem
int get_mem() { return mem; } // returns Derived::mem
protected:
int mem; // hides mem in the base
};

get_mem 中对 mem 的引用被确定为使用 Derived 中的名字。如果编写如下代码:

Derived d();
cout << d.get_mem() << endl; // prints 42

则输出将是 42

  • 使用作用域操作符访问被屏蔽的成员

可以使用作用域操作符访问被屏蔽的基类成员:

struct Derived : Base {
int get_base_mem() { return Base::mem; }
};

作用域操作符指示编译器在 Base 中查找 mem。设计派生类时,只要可能,最好避免与基类成员的名字冲突。

  • 作用域与成员函数

在基类和派生类中使用同一名字的成员函数,其行为与数据成员一样:在派生类作用域中派生类成员将屏蔽基类成员。即使函数原型不同,基类成员也会被屏蔽:

struct Base {
int memfcn();
};
struct Derived : Base {
int memfcn(int); // hides memfcn in the base
};
Derived d; Base b;
b.memfcn(); // calls Base::memfcn
d.memfcn(); // calls Derived::memfcn
d.memfcn(); // error: memfcn with no arguments is hidden
d.Base::memfcn(); // ok: calls Base::memfcn

Derived 中的 memfcn 声明隐藏了 Base 中的声明。这并不奇怪,第一个调用通过 Base 对象 b 调用基类中的版本,同样,第二个调用通过 d 调用 Derived 中的版本。可能比较奇怪的是第三个调用:

d.memfcn(); // error: Derived has no memfcn that takes no arguments

要确定这个调用,编译器需要查找名字 memfcn,并在 Derived 类中找到。一旦找到了名字,编译器就不再继续查找了。这个调用与 Derived 中的 memfcn 定义不匹配,该定义希望接受 int 实参,而这个函数调用没有提供那样的实参,因此出错。

回忆一下,局部作用域中声明的函数不会重载全局作用域中定义的函数,//参数不匹配时不会再去全局中查找是否有参数匹配的同名函数 同样,派生类中定义的函数也不重载基类中定义的成员。通过派生类对象调用函数时,实参必须与派生类中定义的版本相匹配,只有在派生类根本没有定义该函数时,才考虑基类函数

  • 重载函数

像其他任意函数一样,成员函数(无论虚还是非虚)也可以重载。派生类可以重定义所继承的 0 个或多个版本。如果派生类重定义了重载成员,则通过派生类型只能访问派生类中重定义的那些成员。如果派生类想通过自身类型使用的重载版本,则派生类必须要么重定义所有重载版本,要么一个也不重定义。有时类需要仅仅重定义一个重载集中某些版本的行为,并且想要继承其他版本的含义,在这种情况下,为了重定义需要特化的某个版本而不得不重定义每一个基类版本,可能会令人厌烦。//在派生类中新加一个与基类中同名的函数,不会同时重载基类中的同名函数,必须把基类中的每个同名函数都在派生类中重写一遍,才能做到重载

派生类不用重定义所继承的每一个基类版本,它可以为重载成员提供 using 声明。一个 using 声明只能指定一个名字,不能指定形参表,因此,为基类成员函数名称而作的 using 声明将该函数的所有重载实例加到派生类的作用域。将所有名字加入作用域之后,派生类只需要重定义本类型确实必须定义的那些函数,对其他版本可以使用继承的定义

  • 虚函数与作用域

还记得吗,要获得动态绑定,必须通过基类的引用或指针调用虚成员。当我们这样做时,编译器器将在基类中查找函数。假定找到了名字,编译器就检查实参是否与形参匹配。现在可以理解虚函数为什么必须在基类和派生类中拥有同一原型了。如果基类成员与派生类成员接受的实参不同,就没有办法通过基类类型的引用或指针调用派生类函数。考虑如下(人为的)为集合:

class Base {
public:
virtual int fcn();
};
class D1 : public Base {
public:
// hides fcn in the base; this fcn is not virtual
int fcn(int); // parameter list differs from fcn in Base
// D1 inherits definition of Base::fcn()
};
class D2 : public D1 {
public:
int fcn(int); // nonvirtual function hides D1::fcn(int)
int fcn(); // redefines virtual fcn from Base
};

D1 中的 fcn 版本没有重定义 Base 的虚函数 fcn,相反,它屏蔽了基类的 fcn。结果 D1 有两个名为 fcn 的函数:类从 Base 继承了一个名为 fcn 的虚函数,类又定义了自己的名为 fcn 的非虚成员函数,该函数接受一个 int 形参。但是,从 Base 继承的虚函数不能通过 D1 对象(或 D1 的引用或指针)调用,因为该函数被 fcn(int) 的定义屏蔽了。类 D2 重定义了它继承的两个函数,它重定义了 Base 中定义的 fcn 的原始版本并重定义了 D1 中定义的非虚版本。

  • 通过基类调用被屏蔽的虚函数

通过基类类型的引用或指针调用函数时,编译器将在基类中查找该函数而忽略派生类:

Base bobj;  D1 d1obj;  D2 d2obj;
Base *bp1 = &bobj, *bp2 = &d1obj, *bp3 = &d2obj;
bp1->fcn(); // ok: virtual call, will call Base::fcnat run time
bp2->fcn(); // ok: virtual call, will call Base::fcnat run time
bp3->fcn(); // ok: virtual call, will call D2::fcnat run time

三个指针都是基类类型的指针,因此通过在 Base 中查找 fcn 来确定这三个调用,所以这些调用是合法的。另外,因为 fcn 是虚函数,所以编译器会生成代码,在运行时基于引用指针所绑定的对象的实际类型进行调用。bp2 的情况,基本对象是 D1 类的,D1 类没有重定义不接受实参的虚函数版本,通过 bp2 的函数调用(在运行时)调用 Base 中定义的版本