见以下代码的 base_t& operator=(const base_t& another)
。还没有搞清楚。
#include <iostream>
#include <format>
struct base_t
{
int attr;
base_t() : attr(233) {}
base_t& operator=(const base_t& another)
{
attr = another.attr;
return *this;
}
};
struct descendant_t : public base_t
{
descendant_t()
{
attr = 666;
}
};
int main()
{
base_t base;
descendant_t descendant[2];
std::cout << std::format("起初,基类是 {0},子类是 {1}, {2}。",
base.attr, descendant[0].attr, descendant[1].attr) << std::endl;
base = descendant[0];
std::cout << std::format("基类是 {0}。",
base.attr) << std::endl;
base.attr = 233;
descendant[1].attr = 233;
descendant[0] = descendant[1];
std::cout << std::format("子类是 {0}, {1}。",
descendant[0].attr, descendant[1].attr) << std::endl;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)