• 构造函数和复制控制

每个派生类对象由派生类中定义的(非 static)成员加上一个或多个基类子对象构成,当我们构造、复制、赋值和撤销一个派生类对象时,也会构造、复制、赋值和撤销这些基类子对象

构造函数和复制控制成员不能继承,每个类定义自己的构造函数和复制控制成员。像任何类一样,如果类不定义自己的默认构造函数和复制控制成员,就将使用合成版本//而不是靠继承

  • 基类构造函数和复制控制

继承对基类构造函数的唯一影响是,在确定提供哪些构造函数时,必须考虑一类新用户。像任意其他成员一样,构造函数可以为 protectedprivate,某些类需要只希望派生类使用的特殊构造函数,这样的构造函数应定义为 protected

  • 派生类的构造函数

派生类的构造函数受继承关系的影响,每个派生类构造函数除了初始化自己的数据成员之外,还要初始化基类

派生类的合成默认构造函数与非派生的构造函数只有一点不同:除了初始化派生类的数据成员之外,它还初始化派生类对象的基类部分。基类部分由基类的默认构造函数初始化

对于 Bulk_item 类,合成的默认构造函数会这样执行:调用 Item_base 的默认构造函数,将 isbn 成员初始化空串,将 price 成员初始化为 0;用常规变量初始化规则初始化 Bulk_item 的成员,也就是说,qtydiscount 成员会是未初始化的

定义默认构造函数:因为 Bulk_item 具有内置类型成员,所以应定义自己的默认构造函数:

class Bulk_item : public Item_base {
public:
Bulk_item(): min_qty(), discount(0.0) { }
// as before
};

这个构造函数使用构造函数初始化列表初始化 min_qtydiscount 成员,该构造函数还隐式调用 Item_base 的默认构造函数初始化对象的基类部分。运行这个构造函数的效果是,首先使用 Item_base 的默认构造函数初始化 Item_base 部分,那个构造函数将 isbn 置为空串并将 price 置为 0。Item_base 的构造函数执行完毕后,再初始化 Bulk_item 部分的成员并执行构造函数的函数体(函数体为空)

  • 向基类构造函数传递实参

除了默认构造函数之外,Item_base 类还使用户能够初始化 isbnprice 成员,我们希望支持同样 Bulk_item 对象的初始化,事实上,我们希望用户能够指定整个 Bulk_item 的值,包括折扣率和数量。//既初始化派生类对象的基类部分又初始化派生类对象的派生部分

派生类构造函数的初始化列表只能初始化派生类的成员,不能直接初始化继承成员。相反派生类构造函数通过将基类包含在构造函数初始化列表中来间接初始化继承成员

class Bulk_item : public Item_base {
public:
Bulk_item(const std::string& book, double sales_price,
std::size_t qty = , double disc_rate = 0.0):
Item_base(book, sales_price),
min_qty(qty), discount(disc_rate) { }
// as before
};

这个构造函数使用有两个形参的 Item_base 构造函数初始化基类子对象,它将自己的 booksales_price 实参传递给该构造函数。这个构造函数可以这样使用:

// arguments are the isbn, price, minimum quantity, and discount
Bulk_item bulk("0-201-82470-1", , , .);

要建立 bulk,首先运行 Item_base 构造函数,该构造函数使用从 Bulk_item 构造函数初始化列表传来的实参初始化 isbnpriceItem_base 构造函数执行完毕之后,再初始化 Bulk_item 的成员。最后,运行 Bulk_item 构造函数的(空)函数体构造函数初始化列表为类的基类和成员提供初始值,它并不指定初始化的执行次序。首先初始化基类,然后根据声明次序初始化派生类的成员

举例:

#include <iostream>
#include <string>
// Item sold at an undiscounted price
// derived classes will define various discount strategies
class Item_base {
public:
Item_base(const std::string &book = "",
double sales_price = 0.0) :
isbn(book), price(sales_price) {
std::cout << price << std::endl;
std::cout << "constructor of Item_base" << std::endl;
}
std::string book() const { return isbn; }
// returns total sales price for a specified number of items
// derived classes will override and apply different discount algorithms
virtual double net_price(std::size_t n) const
{
return n * price;
}
virtual ~Item_base() { }
private:
std::string isbn; // identifier for the item
protected:
double price; // normal, undiscounted price
}; class Bulk_item : public Item_base {
public:
Bulk_item() :Item_base("isbn-1", 49.9), min_qty(), discount(0.8){
std::cout << price << std::endl;
std::cout << "default constructor of Bulk_item" << std::endl;
}
// redefines base version so as to implement bulk purchase discount policy
double net_price(std::size_t) const;
private:
std::size_t min_qty; // minimum purchase for discount to apply
double discount; // fractional discount to apply
}; double Bulk_item::net_price(size_t cnt) const
{
if (cnt >= min_qty)
return cnt * ( - discount) * price;
else
return cnt * price;//price是public
} int main()
{
Bulk_item bi; system("pause");
return ;
}

输出:

aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAARAAAABhCAIAAACRYWmSAAARi0lEQVR4nO2deVsUV9rG+SaDM+pEjTMxMTMT0ZDI5gI2iLKJiCKoKC7svVTv+74A3TSgIIsisu+L2NDsggjGJZNkksmbTDLv+yXePwrapqvqVFU3pLHz/K778ipOPec5zzl17u5qabrDBHI9pjCKlGaRyixWW8RqKy6RyiJSmUUqs0hpwnApjJjCKFSaMIVRqDQKlSaRyiRWmcVqi0RtlWqtMp1Noa+Q6yuUhkqVoVJtrFKbqtQmu8bs0JgdGnO1xlKttTi11hqttUZnq9HZavS2Wp2tVmtxaizVGrNdbbKrTXaVsUppqFIaKpX6CqW+QqGrkOtscr1NrsNVgUumq5DrKxWGKoXRrjTZlSaHyuRQmaqVJofSaFcY7FJdhURjlagtIpVZqDRjCqNAZhDIDDypnifV8yRankRbLtaUizVlIk2pSFMiVJdgqmJMVSRQFPEVhTx5IU92myu9VS4pKJUUlEpulIhvlIjyi4T5RdjVQsGVO/wrd/i5t3i5N7m5N7k5BeU5N8ou3SjNvl6SnV9y4VpR1pXC83m3z+XeSs8pSLt0IzX7esqF/LNZ186cv5qceSU5M+/0udykc7lJGbmJGbmc9MuctMuctBxOag4nNedU6qWElEsJKRcTUi7Gp2THp2THn80+efYCrhNncGXhOp68pmOnqZV03m/FJWau6/w7JfkoMy4xM5ZzLpZzLoaTEcNJjz6VFpWQFpWQGpWQGpWQFp2QFn3KW+lkWj/7riNpX7ZKj+akx3DSYzgZuGLXtV5qOqM8CWlhfJlOINdjCgPuB0xhxJRGTGnEFEZMbsDkBr5Mvy4dX6rjSXU8qQ5vEcj1Apkek+kxuUGoMIgURqHCKFSaREqTWG0Wq0wSlVmiNks1FonGLNFYpFqrVGuVam24ZOuSam0SjUWiMYvVJpHKJFIZhQqDR5hcj8n1mFyHyXX4cAKZni/TCTw1yPHiTZjCKJAbMbmRLzfwpDquWFsu0pQK1SVCVTGmKOTLC/nyQp6skCu9XS69XS69VSa5WSouKBHdKBZeLxJeLxLmF2H5hYJrhfwrd3h5t7l5t7m5BeWXC8pybpRezC+5mF984Spug8LM3Dvncu9kXL6dnnMzPedm2qWC1OwbKdnXz17IP5N1Lfn8tdOZV5Iy8hIzcjnpuQlpOQmpOQkpF0+mXDyRfOFEctbx0+ePnT5/LCkzLikzNnF9k53KwPdNVMKajiakHU1IOxqf9mV86ppO4krB9cWJNUUeP0ulz4+d8VtH4pKZ63Dc6cOxpyNikyJikg5FJx6K5nwWdYpanEMb9VkUOj4QcQ5F40r0KCIGP+AcisZHZ5QqjCfV8qU6fOfxZTpve/CkOp5Uiz8S8yRankTD3ahysdpzzJNoeBItX6LlS3V8vJdUx8cl023MrOfL9IJ1vRtLouVKtFyJtlysxlUmVJcKVaWYqhRTlQpVJZiyBFMWCxQlAkWJQFkkUBQJFMUCZTGGS1UkUBYJlEV8RSFfUciT3eFKb5WJb5aKbpaKCoqF14uw64WC/ELBtULe1Tvcq3e4ebfKc2+WXb5ZllNQmlNQevF6cXZ+Ufa1oqyrhVlXCs/n3cnMu51x+VZ6zs30SzfSvZ8isq4lZ145fS4v6VweJ/0yJ/3yqbSchLRL8SkXT5zNPnH2wvEzWceSs+KSzscmnotJPBfNyYg6lXE0Pv1ofNqXJ1O/OJkaeSIl8kRK5PGznx87e+TYmSNxZ47EnTkclxwRmxwRczoi5vShmKRDMUmHopM+i07E9Y+oxH9EcXD9/eg7/e3LU6T69IuEQHQwMp6hPo2M/zQy/mDkyYORJw9Gnvjk8xOffH784yPHPz587MDhuAMRBB2mU0TcgYjYAxGxH0XEHvCVJw/xFFWkd/JjH28UYVyazGH4XudKNLgrRsYnp+cWp+cWp+eeTeGapdKCR+6ZDfIOc88uuPGwmXXNPls/Xk8y4yv3zIJ7et49PT85PeetCY+mZiemZiem5iamvH+cdeH/umeeumeeTs6MT06PT6zpiWtqDNfTqdGn7tFx9+j45Mj45Mj45PCTieEnE0NjE0OjrqFR1+Coa3D06cDI04GR8f7h8f7h8f6hJ31DT/qGxnoHx3oGR3sGRrsHRrv7R7r7R7r6h7v6hjv7hjt7hzp7hzp6hjp6Bjt6Btu7B9u7Bx53D7R1D7R19bd19bd19j/q7HvUgau31aP23oftPQ/bex4+xtWN6wGutg1qeacuKjU/ClCd/qu1s7m1ownXQ1ztuBq91IRU4xZovRgqMc0TxhWruWIVV6zmitUjTyZ4mHjH7n3eCt9U7WCmwLJ9GEhOEAvt8tHed9q5N3znnvCde/6wzRS+UWy7h5WLVB5NzS6E79oXBgAAFeVCZbloTe6ZhfBde4NdEQBsY8qESlylmMI9Mx++c0+wKwKAbUwZpizDlKWYAgwDAPSUYnKP3DPzf9hoGJfL5XK5fH70aUTANh4Atjvehpmc3mAYn71OdUwF23gAeA/wuKVEsMEwxCcHMAwAhHnc4m0Yz/4GwwDABjxu8RgGsdFdG6FNzjYeALY7Hrf4GAax19nufnALEDp43FLMl/m86A+j2OtgGOD3i8ctDA1Dtfup7rvALUBIgVuF1DDEWzLEqxHEzRsYBggdEIYBAMAXMAwAsAAMAwAs2GiYOTAMAKDwuKWIJwXDAAANHreAYQCAHtwqYBgAYAQYZnNh9aunoLzRDn45FhDB+l+yrb5gQdkQno3I1jOk7ZtYGMNBAXpKBDKPfrNnmK2+YMHaEH6MG5T3E4Fh/MfjlmL+u1syqlsF0nbXRtjGu8jed0NsJx6zzU8bT8xPBXq+tN3RXfyun7Qk2vpp8/vRHsoQ33zpPf+tOCb+SGz3vgyblZ9JPJPLj66BSQaqbP7V7108VV+GqZiPxSRJaOJxi+cXl1ST92PhmKQitvtceD8uEqtNQDUuFX7Ml2E2Jo3e+AQzrB8xBdL8bOsJcd7dkgmkm24YqkYmQ7AaN5A86FTo5IHkYVgqbXJPuysww7C9jn5MNhQoFSi8/+Iy/Le9JWNyDTYrP5N4JmxWHkQXVvV7BzOsgao7q3VGrEMo8+5TYzD55PoH+bm88A4mbafdQIg94UcwcTiG+dH1s7rkW5rHv/qpfqQalHQI7xbvU1R1+jHl9x6PW7wNA4QALgqCXdd7ThmmLMMUuNzT8+E74cPIAYCatU8iFypLhfDp/QBAR7lIWbYuMAwA0FAmUq1JqALDAAAN5WJVuUiJfwMZGAYAaOAKVVyRiitSlwtVU2AYAEDDW/vGcA1Popmae7Zj94bvuAzwVw3wv5lAqMGXaPnSNU3PLe7Y/aHnlM9epzqmgm08ALwHCOR6TG4QyA2YwjA9v/SnD/bj7cQnBzAMAIQJlUaR0ixWmUVK8+zC8517/hrG/r1YpIBhgBBEqrFKNTaZ1ibTVcwvLu/edwCx0V0boU3ONh4AtjtKo11pdChNDqXJsfB89YP9B11keHdhu/vBLUDooLHWaqy1Glud1la3uPxyz0d/9z5LutfBMMDvF0NVg7GqwWCvN9gbllZe7TvwmfdZ5k8vVPdd4BYgpDA7m8zVTebqJrOj8fnq6w8/OeQ5RbwlQ7waQdy8gWGA0MFa22KtbbE6W6zO5uerb/Z/EhHsigBgG2Ore2itbbHWtFiczcurb7yfYQAA8KVizTBNFmfj89XXPq9hAADYgLWm2epsMlc3mh33l1Ze7fnr34JdEQBsYyzORpOjwWS/Z6y8t/jiqz/vPxjsigBgG2Oy1xur7hoqavW22sXl1V37DgS7IgDYxhgqaw22Gp3VqbVUP3u++qcP/hLsigBgG6OzOXUWh8bsUJvsz56v/JH67f1oNuVXLlRvxgF+M5ivv4sAqy5+jEiajW2vQNFZHBpTlcZYpTJWLiy9CEf+ARkVnrBNmQNpku1moa2uJyjzZXsdvcPYPraiW/zLE/YbrJvGbNeYqzTGSpWhcmHphc+fKPuxcIGzWQu6dWx1PcGaL9txg2sYJpk3H53ZrjVXaYyVavwZhvBRsS6yZ0+GE0YkQXREDMrKwFR1ovOzjfeZi4vN3xGxyk8bT8zv3/rQdieNp507YhTaLkzq93vdSJeCEp3FoTVXac1VGnPVs+crfn8/DHpUJnlIgxFhVPhXP6s6qerxtHuvxmblZxLvPS4V6BqYZPBJ5dMFUSdVI+laMRwd3YKox3tQFkPrLQ69xaGz2HVm+yIDw5CuKdVgm76gTEAXw/yYYSpiu88FYDV3xCnaOonD0SZnOF9WqWjnSGx0eeHf6LTDEYfwLpiqLwkGW7XBVm2wVhus1YvLKwy/7oK2dERfvxeUfjLI4N+gHr/XIZA86FTo5IHkoUoVyHoGeKEZDkcclMXQpgqnqcJptDkNVufi8qof3w/DpFCGeagaWS0o23EDme8WrQNpfibxTNisPFSpEPmpGmm70I7OsAaqglmMa66qNVfWmiprTBU1z1+s+rzoJx2DdJURS4PIg8hPNQr9lKhLQmQmHjOfWuDrwCQ/un7mi7NZeVwESIunmq9PgIviEgQyNJP5Uv1IidVeZ7HXWarqLFW1yysv4fthgG0C0RVM9/SWYnPcszruWh13Lfa65ZWvwDAAgKLCWV/hrLdV36uovre8CoYBACRVNQ2VNQ2VzvqK6vrl1Vdow6CfEIlnmdyMsh0lkMzoU2yL8bt44D3GXnffXnu/quZ+ZU3Di3XDsNpS6LOsuiBuVanuaBHxrOr0bvd5LcgqDxgmxHHUNeKy1zauvHzteYbx3j2B7FEmhkHkpM2G2P2ehD4HpGNRmYTWXT7DMZ8L8F7irG9x3mty3m1y1DWtfEViGG+Y7P4wxh5jvvupYhDxtH5AB3jPBZ2QdlJASFHb8KC2oaW2vsVZ37L66g3paxj01ie2M39URgcgRkcbkjQzk3jv+on/ktZJOykgpLjb+PBu48O6+w9rGx68fPU28Bf9VJuJuLEYGsYP0Ab2aUT7jdZ7xBZiQiB0qG9uq29+dK+pta6x9avXbz1vjSHdT+gNwcoAfhiGVRmkmx69m2mnzKpaJgHA+8f9B+0NLY/vtzyub2579eZr9GsYNJ5dRbuzacMQTiAdF9FITIWORxyjByXOjrQj8H7T3NrR3NrR9LC98UH767f/JDUMw4dbxP4mPUbsOVKY+4p4ykVmUapxEWZD1wlWCX0ePO5+0NbV0tbV/KjrzdffUBnGpxfRTsQwdAbatEzimSQn1kZrMKp/SeNp8wMhRWtHb2tHT2t7z4PH3W//+a3fzzDELlSnEI20hqECkdyzoREdidUST9FagiobEFK0dfa1dfY96uht7eh9+813fjzDUDWSPvqikzDcakzC2LqXYV+qeFonI7yNzrlF8YCfPO7qb+vqb+vsb+vs+5pgGMTDMzEV80aqU2hrsfKwT/0MR2EykE88YlzaYARgmG1KZ+9QR+9gR89gR8/AN9/+y9swntVnuLOpwtA2oE1Lmof02KcR4Rmf5D5bjdaZTB4yYO+GJt39w939w119w529Q9989z3tLRniMRvxQI7YXi5qfPrSGg9dJ5MhEJGIeKpG8EwI0js42js42jMw2t0/8u2/fqB6awziR2Ij6QPwpuwn9D4OFlQ1BL0wYPMZGB7vH37SNzTWNzT23ff/Dt+5l74PAPxuGR5zDY25Bkddg6NPv//hR5+PigUAYAMjTyZGnkwMP5kYGnN9/28wDAAgGXNNjT51j467R8cnf/jxp/Bd++j7AMDvlqeTM+OTM+MT0+MT0z/+z887doNhAIAa19Sca2rW5Z51uWd//AkMAwBI3LML7pkF98zC5Mz8Tz//ssPrG8gAAPBlem5xavYZrp9+/uWPf94f7IoAYBszO780M780Pb80Pb/4839+hS+FBQAUc8+Wcc0+W/7PL/8FwwAAioWllYWllYWlF/NLL3759X937v0o2BUBwDZm8cXLxeU1/frf/9u970CwKwKA7cv/A/biB7BKeZkJAAAAAElFTkSuQmCC" alt="" />

因为这里派生类给基类传递了初始化值,所以覆盖了基类中的默认初始化值。

  • 在派生类构造函数中使用默认实参

当然,也可以将这两个 Bulk_item 构造函数编写为一个接受默认实参的构造函数:

class Bulk_item : public Item_base {
public:
Bulk_item(const std::string& book, double sales_price,
std::size_t qty = , double disc_rate = 0.0):
Item_base(book, sales_price),
min_qty(qty), discount(disc_rate) { }
// as before
};

这里为每个形参提供了默认值,因此,可以用 0 至 4 个实参使用该构造函数

  • 只能初始化直接基类

一个类只能初始化自己的直接基类。直接就是在派生列表中指定的类。如果类 C 从类 B 派生,类 B 从类 A 派生,则 BC 的直接基类。虽然每个 C 类对象包含一个 A 类部分,但 C 的构造函数不能直接初始化 A 部分。相反,需要类 C 初始化类 B,而类 B 的构造函数再初始化类 A。这一限制的原因是,类 B 的作者已经指定了怎样构造和初始化 B 类型的对象//即指定了如何初始化类型A。像类 B 的任何用户一样,类 C 的作者无权改变这个规约。

作为更具体的例子,书店可以有几种折扣策略。除了批量折扣外,还可以为购买某个数量打折,此后按全价销售,或者,购买量超过一定限度的可以打折,在该限度之内不打折。这些折扣策略都需要一个数量和一个折扣量,可以定义名为 Disc_item 的新类存储数量和折扣量,以支持这些不同的折扣策略。Disc_item 类可以不定义 net_price 函数,但可以作为定义不同折扣策略的其他类(如 Bulk_item 类)的基类。

  • 关键概念:重构

Disc_item 加到 Item_base 层次是重构(refactoring)的一个例子。重构包括重新定义类层次,将操作和/或数据从一个类移到另一个类。为了适应应用程序的需要而重新设计类以便增加新函数或处理其他改变时,最有可能需要进行重构。重构常见在面向对象应用程序中非常常见。值得注意的是,虽然改变了继承层次,使用 Bulk_item 类或 Item_base 类的代码不需要改变。然而,对类进行重构,或以任意其他方式改变类,使用这些类的任意代码都必须重新编译。

要实现这个设计,首先需要定义 Disc_item 类:

// class to hold discount rate and quantity
// derived classes will implement pricing strategies using these data
class Disc_item : public Item_base {
public:
Disc_item(const std::string& book = "",
double sales_price = 0.0,
std::size_t qty = , double disc_rate = 0.0):
Item_base(book, sales_price),
quantity(qty), discount(disc_rate) { }
protected:
std::size_t quantity; // purchase size for discount to apply
double discount; // fractional discount to apply
};

这个类继承 Item_base 类并定义了自己的 discountquantity 成员。它唯一的成员函数是构造函数,用以初始化基类和 Disc_item 定义的成员。其次,可以重新实现 Bulk_item 以继承 Disc_item,而不再直接继承 Item_base

// discount kicks in when a specified number of copies of same book are sold
// the discount is expressed as a fraction to use to reduce the normal price
class Bulk_item : public Disc_item {
public:
Bulk_item(const std::string& book = "",
double sales_price = 0.0,
std::size_t qty = , double disc_rate = 0.0):
Disc_item(book, sales_price, qty, disc_rate) { }
// redefines base version so as to implement bulk purchase discount policy
double net_price(std::size_t) const;
};

Bulk_item 类现在有一个直接基类 Disc_item,还有一个间接基类 Item_base每个 Bulk_item 对象有三个子对象:一个(空的)Bulk_item 部分和一个 Disc_item 子对象,Disc_item 子对象又有一个 Item_base 基类子对象虽然 Bulk_item 没有自己的数据成员,但为获取值用来初始化其继承成员,它定义了一个构造函数

  • 关键概念:尊重基类接口

构造函数只能初始化其直接基类的原因是每个类都定义了自己的接口。定义 Disc_item 时,通过定义它的构造函数指定了怎样初始化 Disc_item 对象。一旦类定义了自己的接口,与该类对象的所有交互都应该通过该接口,即使对象是派生类对象的一部分也不例外//成员对象或者基类。同样,派生类构造函数不能初始化基类的成员且不应该对基类成员赋值。如果那些成员为 publicprotected,派生构造函数可以在构造函数函数体中给基类成员赋值,但是,这样做会违反基类的接口。派生类应通过使用基类构造函数尊重基类的初始化意图,而不是在派生类构造函数函数体中对这些成员赋值。//在派生类初始化列表中调用一个基类的构造函数来为基类初始化,这样基类就会按照自己的原意去初始化自身了;如果派生类构造函数在函数体中逐一初始化基类的成员,那么也许会有没有做到的部分。

  • 复制控制和继承

合成操作对对象的基类部分连同派生部分的成员一起进行复制、赋值或撤销,使用基类的复制构造函数、赋值操作符或析构函数对基类部分进行复制、赋值或撤销。类是否需要定义复制控制成员完全取决于类自身的直接成员。基类可以定义自己的复制控制而派生类使用合成版本,反之亦然。只包含类类型或内置类型数据成员、不含指针的类一般可以使用合成操作,复制、赋值或撤销这样的成员不需要特殊控制。具有指针成员的类一般需要定义自己的复制控制来管理这些成员。Item_base 类及其派生类可以使用复制控制操作的合成版本。复制 Bulk_item 对象时,调用(合成的)Item_base 复制构造函数复制 isbnprice 成员。使用 string 复制构造函数复制 isbn,直接复制 price 成员。一旦复制了基类部分,就复制派生部分。Bulk_item 的两个成员都是 double 型,直接复制这些成员。赋值操作符和析构函数类似处理。

  • 定义派生类复制构造函数

如果派生类显式定义自己的复制构造函数或赋值操作符,则该定义将完全覆盖默认定义。被继承类的复制构造函数和赋值操作符负责对基类成分以及类自己的成员进行复制或赋值。如果派生类定义了自己的复制构造函数,该复制构造函数一般应显式使用基类复制构造函数初始化对象的基类部分

class Base { /* ... */ };
class Derived: public Base {
public:
// Base::Base(const Base&) not invoked automatically
Derived(const Derived& d):
Base(d) /* other member initialization */ { /*... */ }
};

初始化函数 Base(d) 将派生类对象 d 转换为它的基类部分的引用,并调用基类复制构造函数。如果省略基类初始化函数,如下代码:

// probably incorrect definition of the Derived copy constructor
Derived(const Derived& d) /* derived member initizations */
{/* ... */ }

效果是运行 Base 的默认构造函数初始化对象的基类部分。假定 Derived 成员的初始化从 d 复制对应成员,则新构造的对象将具有奇怪的配置:它的 Base 部分将保存默认值,而它的 Derived 成员是另一对象的副本

举例:

class Base {
public:
Base(int n = ,std::string s="default str"):base_num(n),base_str(s){
std::cout << "Constructor of Base" << std::endl;
}
Base(const Base &b){
std::cout << "Copy constructor of Base" << std::endl;
}
private:
int base_num;
std::string base_str;
};
class Derived : public Base {
public:
// Base::Base(const Base&) not invoked automatically
Derived(int d = ) :derived_num(d){
std::cout << "Constructor of Derived" << std::endl;
}
Derived(const Derived& d) :
Base(d) /* other member initialization */ { /*... */
std::cout << "Copy constructor of Drived" << std::endl;
}
private:
int derived_num;
}; int main()
{
//Bulk_item bi;
Derived d();
Derived d2 = d; system("pause");
return ;
}

输出:

aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAANgAAABWCAIAAAAi+M8SAAAIKUlEQVR4nO2d6VYbRxCF9SIGzCpWGwcndnzy7oPQaEMYLEsgA8axkwfJDwWdUXd11e2elnqE6vvhM+qpubX01YgMtlJr9a6299/UFCUtebe/VT9JXYWy8uSd/ubeceoqlJUn71xu7h2lrkJZeZrty9e7/xsxK5C0qCUDH1pmMffiloVmu/d697D2PKPJ4pxmNO+5J9nX6ay8vGgfrzoXrd7GzoExkXkMaN5DT7WpvnnViDQXre7GtmnEIuTnCPP5gsQbO2HfUZjd8tIX4219F3y/4uVkPDkKUh9fX1YaeXd9u+7qh58afmy/tNdd5iijj8Qj28nX4GUI8RLf3vHUlaaRd9a3ohnRfgmuZ7P+Cxg6eUqs004nioP9+kplsyB9kfHLSiPvrG3tuZpHDCE6gAlDLhdzBejwUrx4GR2XlO88X4j5ipw322ubezXPAfkeuzTtl3H1kXiEWDouqYhzXlbOm+21rb3JcVZgGsAs2seueOOUb7CdDtT3aoonik5mQRaP9BvQQqU5b7bXtuqpq1BWnkbeWd9WIyqpaeTdjZ2D1FUoK89Fq6d/6UFJT97p61+MVdLT6n3ePXqXugpl5en0b/bfvE9dhbLydK8Gh6cfJ8cv7dHUosCH5nqIWDJ1LJ2U+355PTw++1RbyMP6efeZZI7kU+iI8aBaeRIbsX8zOnn/l1HEPGqad5+p5uibdwFv+DDSG/HN76YRi5AfJcxHDBKfWb+/qrl3iJES9cV4W98F3694ORlPjgKsk4knC+PrJ08tFPKOOIWfGn5sv7TXXUMvo4/EI3vA1+C1i6RUcJ3MEMocJ6B3PTw+++QqIqABRMpeN/YjYFjkKbFOO50oDvbrJZVZgHUyxdjHtj4420XQvRocnn5w9YMUTTYgjoxfDxiWlw4vxYuX0XFJ+fblOus7N3C2i6DTv6mfnLlqQhoDm3cNnew/lj4SjxBLJ3qd9tmsgFg/k3fRtLqfdw9Pi6WQPYCNueKNU77BdjpQ36spnig62Sxl9DML4xRSf80950Wj332jVIKL539grygpaeTdje391FUoK8/kX/GlrkJZeRrNzqvN3dRVKCvPebP96rUaUUlNI1cjKhWgkXemRgx4uqYkBN8s5qFjVZgasVhfRWsNZd69JJmV71Poqu/vxIjIo/klZd69pJqVb96qG/Ei79pGLELez423o8vESMOuzwsmb3C8UVhm3VGY4r30xXhwOOJ8xMvJeHIUpD6+XpaLFmdEcWPwYxJfkYCkYmvFscbSR+KLeV3wNSAKhhRziW/veGqI6hgRyQvWg6fIZv0X0Ah5SqzTTieKg/36SmWzIH2R8WVpUkYUN0ZsjGmmiCsgWNxeRFJ45S2jw0vx4mV0XFK+8/RN6sHEiAGFiqeQopGNL3Ps6sV+GVcfnJtILB2XVMQ5l6XZ7vLPEclFY50sCCwU0Sc1wTqLp3yD7XSgPl8/OJmIOpkFWTzSb0ALEHm7F/abFb6U+IUqL5swIy767aK8ePLOpf6uWUlPS42oVIFWt69GVNLTViMqVaDdUyMqFaBzebX2/E8F9L95lwt8s1wPEcELQwskCnBGdPuf17fqNephZvn0FWHevSSZFfkUOmK8cVV5BKne1c3Gzr4R9JKMOO9eUs2qzL0tSc1C0v71YHPviAkib+nG28tlYqRhUp/PGxxvFJZZdwimeC99MR4cjjgf8XIy3qiBrIepnyyAr5M8NcP1l9HOwVtXkJgYPybxFQlIKrZWnFEsfSS+mNcFXwOiAEq56mGaLXNMcDO8qx+fuYLADQjMDbgEF0ek7PXiHoQ1Qp4S67TTieJgv75SfD1MUlKkqMbXbzIYfTt4+4crHziIwNxRjehaRFJ45S2jw0vx4mV0GCleh0mKiOCJal/vHo7efXRdAw6CPIVMCmmszLGrF/tlXH1wbiKxdFx1ijr22ayAWCdTv8lw/HD8259iDr4gMgE4KUSf1ATrLJ7yDbbTgfp8/eBkIupksyA6mYVxCqmz5p6nyWj8ePRsRC/4KXjNWlFqo/HD4ekH36tE+6sLFT+Gd/f1E/1/8Smp+ToaT79Dm4S/t5E/K/AZyQDkDhqmzJ/yLSa4eEVgMLqbfIe211bxZ70u8fp52QDPK3aXzf4w7qWjRozAYHg7/Q7t4q6U2XvEiIymqMa4aipoHJC5XOYTXWukw3tRnHz5Olrfrk+Og11Vg72Lu8oVw8SLPuMDir3wgmJTijeD4S35Hdq8pex1/C7CBzDZeaOTykh8sX77T7JOsSnFm8Hwlv8ObX7K9p7xGwYaMQD+jWEs8j4WPW2v2IKKH4PR7fS7b8h94gftZawAI3qVQZqJd4nYsle1SIBCMxyNi1854nv5dLdEx4hhjMPIvMyiLcXHM8d8Urs78kJFZnRLGxG8PTC+IY+ZvSTB/Wqfyijru/IyJubrVAvG4fbum8uIRqRtUzuMVxBlkXhE3K5NNK7rTzJe1Fe8uRs/BN8R7Utcp5hF0YguGPGpUZgL7WrtU6LVXGqKN+NvTiMakYixyLsFLwJuIRLm+64Ar3XFi+8Q5j3Da84pvtKM7x8NIzK3E/tyfNF1ires13vDqB/MgiQy4pm8YjDDShvx/uG78UWd02MjEvSca1e8ZEkd8thYZLxoiBtbKDoeeSu+EE8k4f7xSfxoZu4xzI2H2bbMjXGtaGi+TiQFE8nEuxbVi4E8fP9BfvcN4zBykbxhRNkn3h+pcNWQvLBl5fGJNqKiLJSnHz/ViEp61IhKJfjx85caUUnP37/+USMq6fn56181opKc/wBDBHd6qfhg3QAAAABJRU5ErkJggg==" alt="" />

如果这里改成:

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

输出结果为:

aaarticlea/png;base64,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" alt="" />//没有显示使用基类的复制构造函数,调用的就是基类的构造函数对基类对象部分进行初始化

  • 派生类赋值操作符

赋值操作符通常与复制构造函数类似:如果派生类定义了自己的赋值操作符,则该操作符必须对基类部分进行显式赋值

// Base::operator=(const Base&) not invoked automatically
Derived &Derived::operator=(const Derived &rhs)
{
if (this != &rhs) {
Base::operator=(rhs); // assigns the base part
// do whatever needed to clean up the old value in the derived part
// assign the members from the derived
}
return *this;
}

赋值操作符必须防止自身赋值。假定左右操作数不同,则调用 Base 类的赋值操作符给基类部分赋值。该操作符可以由类定义,也可以是合成赋值操作符,这没什么关系——我们可以直接调用它。基类操作符将释放左操作数中基类部分的值,并赋以来自 rhs 的新值。该操作符执行完毕后,接着要做的是为派生类中的成员赋值。

现在来看这个例子:

class Base {
public:
Base(int n = ,std::string s="default str"):base_num(n),base_str(s){
std::cout << "Constructor of Base" << std::endl;
}
Base(const Base &b){
std::cout << "Copy constructor of Base" << std::endl;
}
void print_base(){
std::cout << "base_str:" << base_str << " and " << "base_num:" << base_num << std::endl;
}
private:
int base_num;
std::string base_str;
}; class Derived : public Base {
public:
// Base::Base(const Base&) not invoked automatically
Derived(int d = ,int n=,std::string s="") :Base(n,s),derived_num(d){
std::cout << "Constructor of Derived" << std::endl;
}
Derived(const Derived& d)
/*Base(d) *//* other member initialization */ { /*... */
std::cout << "Copy constructor of Drived" << std::endl;
} Derived &operator=(const Derived &rhs);
private:
int derived_num;
}; Derived &Derived::operator=(const Derived &rhs)
{
std::cout << "Operator of Derived" << std::endl;
if (this != &rhs) {
//Base::operator=(rhs); // assigns the base part
// do whatever needed to clean up the old value in the derived part
// assign the members from the derived
}
return *this;
}

如果没有显示的赋值,则输出结果为:

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

相反,改为显示赋值:

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

则输出为:

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

  • 派生类的析构函数

析构函数的工作与复制构造函数和赋值操作符不同:派生类析构函数不负责撤销基类对象的成员。编译器总是显式调用派生类对象基类部分的析构函数。每个析构函数只负责清除自己的成员

class Derived: public Base {
public:
// Base::~Base invoked automatically
~Derived() { /* do what it takes to clean up derived members */ }
};

对象的撤销顺序与构造顺序相反:首先运行派生析构函数,然后按继承层次依次向上调用各基类析构函数。

  • 虚析构函数

自动调用基类部分的析构函数对基类的设计有重要影响。删除指向动态分配对象的指针时,需要运行析构函数在释放对象的内存之前清除对象。处理继承层次中的对象时,指针的静态类型(指针的类型可能是基类) 可能与被删除对象的动态类型(基类指针可能指向派生类)不同,可能会删除实际指向派生类对象的基类类型指针

如果删除基类指针,则需要运行基类析构函数并清除基类的成员,如果对象实际是派生类型的,则没有定义该行为

比如基类中有析构函数:

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

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

运行:

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

输出:

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

正常析构。

如果改为:

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

输出结果表明没有调用派生类对象的析构函数:

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

如果添加virtual:

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

则会先调用派生类对象的析构函数,再调用基类对象的析构函数:

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

这说明,如果析构函数为虚函数,那么通过指针调用时,运行哪个析构函数将因指针所指对象类型的不同而不同:

Item_base *itemP = new Item_base; // same static and dynamic type
delete itemP; // ok: destructor for Item_base called
itemP = new Bulk_item; // ok: static and dynamic types differ
delete itemP; // ok: destructor for Bulk_item called

像其他虚函数一样,析构函数的虚函数性质都将继承。因此,如果层次中根类的析构函数为虚函数,则派生类析构函数也将是虚函数,无论派生类显式定义析构函数还是使用合成析构函数,派生类析构函数都是虚函数

基类析构函数是三法则的一个重要例外。三法则指出,如果类需要析构函数,则类几乎也确实需要其他复制控制成员。基类几乎总是需要构造函数,从而可以将析构函数设为虚函数。如果基类为了将析构函数设为虚函数则具有空析构函数,那么,类具有析构函数并不表示也需要赋值操作符或复制构造函数。

即使析构函数没有工作要做,继承层次的根类也应该定义一个虚析构函数

  • 构造函数和赋值操作符不是虚函数

复制控制成员中,只有析构函数应定义为虚函数,构造函数不能定义为虚函数。构造函数是在对象完全构造之前运行的,在构造函数运行的时候,对象的动态类型还不完整。//构造函数在对象完全构造前运行,而动态绑定是在运行时实现

虽然可以在基类中将成员函数 operator= 定义为虚函数,但这样做并不影响派生类中使用的赋值操作符。每个类有自己的赋值操作符,派生类中的赋值操作符有一个与类本身类型相同的形参,该类型必须不同于继承层次中任意其他类的赋值操作符的形参类型。

将赋值操作符设为虚函数可能会令人混淆,因为虚函数必须在基类和派生类中具有同样的形参。基类赋值操作符有一个形参是自身类类型的引用,如果该操作符为虚函数,则每个类都将得到一个虚函数成员,该成员定义了参数为一个基类对象的 operator=。//这句话想要说的是,虚函数在派生类和基类中的形参是一样的,而实际上赋值操作符的形参又是自身类型的引用,如果操作符是虚函数,那么派生类中的赋值操作符的参数就是基类对象的引用了 但是,对派生类而言,这个操作符与赋值操作符是不同的。//派生类赋值操作符的参数不能是基类类型的引用

总之,将类的赋值操作符设为虚函数很可能会令人混淆,而且不会有什么用处。

  • 构造函数和析构函数中的虚函数

构造派生类对象时首先运行基类构造函数初始化对象的基类部分。在执行基类构造函数时,对象的派生类部分是未初始化的。实际上,此时对象还不是一个派生类对象。撤销派生类对象时,首先撤销它的派生类部分,然后按照与构造顺序的逆序撤销它的基类部分。在这两种情况下,运行构造函数或析构函数的时候,对象都是不完整的。为了适应这种不完整,编译器将对象的类型视为在构造或析构期间发生了变化。在基类构造函数或析构函数中,将派生类对象当作基类类型对象对待

构造或析构期间的对象类型对虚函数的绑定有影响。如果在构造函数或析构函数中调用虚函数,则运行的是为构造函数或析构函数自身类型定义的版本。//而不是其派生类中的对应的函数 无论由构造函数(或析构函数)直接调用虚函数,或者从构造函数(或析构函数)所调用的函数间接调用虚函数,都应用这种绑定。

要理解这种行为,考虑如果从基类构造函数(或析构函数)调用虚函数的派生类版本会怎么样。虚函数的派生类版本很可能会访问派生类对象的成员,毕竟,如果派生类版本不需要使用派生类对象的成员,派生类多半能够使用基类中的定义。但是,对象的派生部分的成员不会在基类构造函数运行期间初始化,实际上,如果允许这样的访问,程序很可能会崩溃。

《C++ Primer》之面向对象编程(二)的更多相关文章

  1. Python进阶之面向对象编程(二)

    Python面向对象编程(二) .note-content {font-family: "Helvetica Neue",Arial,"Hiragino Sans GB& ...

  2. python之路---面向对象编程(二)

    类的继承 1.在python3中,只有新式类,新式类的继承方式为:广度优先.而python2中,经典类的继承方式为:深度优先.那么我们来看看深度优先和广度优先的区别吧 如下图,为类之间的继承关系.B, ...

  3. Java面向对象编程(二)

    上一篇博文里总结了面向对象三大特性在Java中的体现.如今谈一谈Java中的抽象类,接口,内部类等特性. 一. 抽象类 public abstract class Shape { public int ...

  4. php面向对象编程(二)

    现在我们来了解一下面向对象的一个封装性的问题 封装性:在我的理解里面 可以理解为一个u盘 我们使用u盘的接口与电脑进行数据之间的交互 但是我们不能看到里面的结构 这个特性我们可以称为封装性 好处:利用 ...

  5. Python之路【第五篇续】:面向对象编程二

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAABgQAAALaCAIAAABxja8cAAAgAElEQVR4nOzd6X9Tdd74/+uv+f5uzF

  6. Python入门之面向对象编程(二)python类的详解

    本文通过创建几个类来覆盖python中类的基础知识,主要有如下几个类 Animal :各种属性.方法以及属性的修改 Dog :将方法转化为属性并操作的方法 Cat :私人属性讲解,方法的继承与覆盖 T ...

  7. python之面向对象编程二

    类的成员 类的成员可以分为三大类:字段.方法.属性. 字段:普通字段.静态字段. 方法:普通方法.类方法.静态方法 属性:普通属性. 注:所有成员中,只有普通字段的内容保存对象中,即:根据此类创建了多 ...

  8. Delphi_09_Delphi_Object_Pascal_面向对象编程

    今天这里讨论一下Delphi中的面向对象编程,这里不做过多过细的讨论,主要做提纲挈领的描述,帮助自己抓做重点. 本随笔分为两部分: 一.面向对象编程 二.面向对象编程详细描述 ------------ ...

  9. python基础-面向对象编程

    一.三大编程范式 编程范式即编程的方法论,标识一种编程风格 三大编程范式: 1.面向过程编程 2.函数式编程 3.面向对象编程 二.编程进化论 1.编程最开始就是无组织无结构,从简单控制流中按步写指令 ...

  10. 面向对象编程(十二)——final关键字

    final关键字 Java关键字final有“这是无法改变的”或者“终态的”含义,它可以修饰非抽象类.非抽象类成员方法和变量. 在Java中,final关键字可以用来修饰类.方法和变量(包括成员变量和 ...

随机推荐

  1. HDU 1525 Euclid's Game

    题目大意: 题目给出了两个正数a.b 每次操作,大的数减掉小的数的整数倍.一个数变为0 的时候结束. 谁先先把其中一个数减为0的获胜.问谁可以赢.Stan是先手. 题目思路: 无论a,b的值为多少,局 ...

  2. SQL优化及注意事项

    1. 把数据.日志.索引放到不同的I/O设备上,增加读取速度.数据量(尺寸)越大,提高I/O越重要. 2. 纵向.横向分割表,减少表的尺寸,如:可以把大数据量的字段拆分表. 3. 根据查询条件,建立索 ...

  3. 使用Toad创建存储过程出现错误并解决

    存储过程中遇到ora-00942表或视图不存在 CREATE OR REPLACE PROCEDURE p IS CURSOR c IS SELECT * FROM scott.emp FOR UPD ...

  4. js--事件对象的理解4

    阻止默认行为:1.实例-简易修改右键菜单<script>document.oncontextmenu=function (ev){ var oEvent=ev||event; var oU ...

  5. Spring Security(12)——Remember-Me功能

    目录 1.1     概述 1.2     基于简单加密token的方法 1.3     基于持久化token的方法 1.4     Remember-Me相关接口和实现类 1.4.1    Toke ...

  6. ARC下面的对象被释放的bug

    一般在ARC管理的方式之下,很难出现对象被过度释放的问题,下面是我将遇到的一个crash. * thread #: tid = , queue = , address=0x18) frame #: f ...

  7. struts入门学习(二)

    一  struts的各种视图的转发与重定向 1 struts跳转到指定的JSP页面,只需要修改配置文件 <package name="user" namespace=&quo ...

  8. Django中使用Bootstrap

    一.在Django中引用Bootstrap模版 1.首先下载bootsrtap代码(http://v3.bootcss.com/getting-started/#download),并将下载后的文件放 ...

  9. Jbpm工作流表补数记录

    一: 历史数据表 11.  JBPM4_HIST_ACTINST 流程活动(节点)实例表 存放Activity Instance的历史记录 12.  JBPM4_HIST_DETAIL  流程历史详细 ...

  10. 分布式事务、XA、两阶段提交、一阶段提交

    本文原文连接:http://blog.csdn.net/bluishglc/article/details/7612811 ,转载请注明出处! 1.XA XA是由X/Open组织提出的分布式事务的规范 ...