`
yanghuidang
  • 浏览: 965982 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

C++赋值号能否被继承

 
阅读更多

在C++中,普通函数能够被继承,但是析构函数和构造函数不能被继承。这里有个问题,C++赋值号能否被继承?

看以下代码:

可以看到没有出错,调用的是A类的重载赋值号方法,而且赋值成功。按理说A类只对A的属性进行赋值号重载,返回A对象,B类的属性应该没有值才对。这是为什么呢?原因是系统自动生成了赋值符号,即使B类没有对赋值号重载,一样可以赋值成功。

我们再在类B内对赋值号进行重载,代码如下:


再观察输出结果:

此时调用的是B类的重载赋值号方法。

分享到:
评论

相关推荐

    C++ 赋值构造函数注意点介绍

    您可能感兴趣的文章:浅谈c++构造函数问题,初始化和赋值问题详解C++ 拷贝构造函数和赋值运算符详解C++中对构造函数和赋值运算符的复制和移动操作C++中复制构造函数和重载赋值操作符总结深入C++中构造函数、拷贝构造...

    C++随堂测试(继承、多态、重载)(答案).docx

    重载的规则是:不能重载 sizeof 运算符,不能用友元函数重载赋值运算符,不能在构造函数中重载运算符。 4. 虚函数:C++中的虚函数是指可以被派生类重写的函数。虚函数可以实现运行时的多态性。虚函数的声明方式有两...

    C++重点复习题(多态和继承).doc

    在公有派生类的成员函数不能直接访问基类中继承来的某个成员,则该成员一定是基类中的私有成员。基类的保护或者基类公有都可以直接访问,基类的私有成员只能是基类的成员函数来访问。 六、基类和派生类的关系 派生...

    C++三种继承方式

    - 派生类继承了基类的数据成员和部分函数成员(基类的构造函数、析构函数和赋值操作符不被继承)。 - 如果基类只有一个普通构造函数而没有默认构造函数,派生类构造函数的参数列表应包含基类数据成员和派生类数据...

    C++ PPT第5章 继承与派生.ppt

    在继承中,派生类可以访问基类的公有和保护成员,但不能直接访问私有成员。公有继承、保护继承和私有继承分别对应不同的访问权限。 继承的分类还包括赋值兼容性原则,这意味着派生类对象可以直接赋值给基类对象。这...

    c++继承和派生.doc

    派生类可以访问基类的公有和保护成员,但不能访问私有成员。访问基类的成员通常通过作用域解析运算符::来完成。而访问对象成员的成员需要先通过对象名,再使用作用域解析运算符。 12.8 赋值兼容 C++中,如果一个类...

    C++继承,虚函数与多态性专题.

    - 含有纯虚函数的类称为抽象类,不能实例化。 - 示例: ```cpp class AbstractBase { public: virtual void func() = 0; // 纯虚函数 virtual ~AbstractBase() {} }; class ConcreteDerived : public ...

    C++继承多态

    这种类不能被实例化,主要用于提供一个接口规范。 ```cpp class Drawable { public: virtual void draw() = 0; // 纯虚函数 }; ``` #### 五、总结 - **继承**提供了代码复用和层次结构的构建方式。 - **多态**...

    c++ 习题 派生类和继承

    友元不遵循继承关系,不能被继承。 9. **选择题解析**: - D:派生类中继承的基类成员的访问权限在派生类中可能会变化,如私有成员在公有派生时变为不可访问。 - A:友元不是继承的,不被继承。 - B:在保护继承...

    c++继承中的内存布局

    在C++中,继承是一种核心特性,用于创建类的层次结构,允许子类从基类继承属性和行为。当我们谈论“C++继承中的内存布局”时,主要关注的是类对象在内存中的组织方式,以及这如何受到继承的影响。C++的对象模型在...

    C++(继承)代码

    程序中主要是运用了类这一重要的结构体,并运用了继承的方式,加上使用虚函数实现动态多态性,来编写管理程序。首先我是定义类及派生类,类中主要是数据成员赋值,及数据输出的函数。

    C++参考手册-C++98_C++03_C++11_C++14_C++17_C++20.rar

    《C++参考手册》是C++程序员不可或缺的资源,涵盖了从C++98到C++20各个标准的重要更新和特性。这份压缩包文件包含了从早期标准到最新标准的全面指南,尤其对于深入理解C++语言的发展和演进至关重要。 C++98是C++的...

    c++String类的重写

    在C++编程语言中,`std::string` 类是用于处理字符串的重要工具,它提供了丰富的功能,如拼接、查找、替换等。然而,为了满足特定需求或优化性能,我们有时需要对`std::string`类进行重写,即自定义它的行为。这通常...

    c++ qt qt控件赋值类

    "c++ qt qt控件赋值类"这个主题聚焦于如何使用Qt库中的控件,并通过自定义类来管理和赋值,以实现更高效、更灵活的代码设计。下面将详细探讨Qt控件的使用以及自定义类在Qt编程中的应用。 首先,Qt库提供了丰富的...

    c++继承中的内存布局借鉴.pdf

    《C++继承中的内存布局借鉴》探讨了C++对象模型,特别是从内存布局的角度解析了类的构造、成员变量和函数的访问、继承方式(包括单继承、多重继承和虚继承)以及各种语言特性的实现。这篇译文是理解C++对象模型的一...

    C++多继承实例

    子类对父类的公共继承。父类有默认构造函数,带参数构造函数,保护变量的赋值与输出,子类有默认构造函数,父类带参构造函数的继承与父子类变量的赋值,子类自定义函数对父子类变量的操作

    C++若干疑难问题分析

    =C++编程语言中,赋值运算符`=`的重载函数有一些特殊之处,这使得它不能像其他重载运算符那样被派生类直接继承。这个问题的根源在于C++的设计原则和类对象的构造机制。 首先,每个类都有一个默认的赋值运算符,即使...

    Absolute C++中文版(6)

    尽管基类的赋值操作符不可以被继承,但是在派生类中可以使用基类的赋值操作符来帮助定义派生类自己的赋值操作符。 构造函数和赋值操作符是类中非常特殊的成员函数,它们不被继承。如果要在派生类中使用基类的构造...

Global site tag (gtag.js) - Google Analytics