C++运算符重载(7) - 赋值操作符能否被继承?可以
2017-11-20 10:29
211 查看
赋值操作符也可以被继承。
基类的操作符可以被子类访问使用
例子如下
#include <iostream>
using namespace std;
//操作符能否被继承??
class A {
public:
A& operator=(const A& obj) {
cout << "the = operator called!" << endl;
return *this;
}
};
class B: public A{
private:
int data;
public:
B(int data) {
this->data = data;
}
void printNum() {
cout << this->data << endl;
}
};
int main() {
B a(10), b(20);
a = b;
a.printNum();
b.printNum();
system("PAUSE");
return 0;
}
输出:
base class assignment operator called
基类的操作符可以被子类访问使用
例子如下
#include <iostream>
using namespace std;
//操作符能否被继承??
class A {
public:
A& operator=(const A& obj) {
cout << "the = operator called!" << endl;
return *this;
}
};
class B: public A{
private:
int data;
public:
B(int data) {
this->data = data;
}
void printNum() {
cout << this->data << endl;
}
};
int main() {
B a(10), b(20);
a = b;
a.printNum();
b.printNum();
system("PAUSE");
return 0;
}
输出:
base class assignment operator called
相关文章推荐
- C++运算符重载(7) - 赋值操作符能否被继承
- 接口的定义——默认加public abstract默认全局常量;与继承不同,子类可以同时实现多个接口;抽象类实现接口;接口继承接口
- 一个不可以被继承的类
- CSS中可以和不可以继承的属性
- qt新进程工作目录的设置(工作目录确实是被子进程继承的,但也可以设置)
- 继承与合成基本概念 继承:可以基于已经存在的类构造一个新类。继承已经存在的类就可以复用这些类的方法和域。在此基础上,可以添加新的方法和域,从而扩充了类的功能。 合成:在新类里创建原有的对象称为合成。
- 抽象类可以继承实体类吗?
- CSS中可以和不可以继承的属性
- 用c++编写一个不能被继承的类(但是可以在类外部定义该类的对象)
- C++ Struct 也可以继承
- 继承体系下除了overridden 技术外使得子类与父类表现出不同行为外,反射也可以,而且反射使得继承不需要overridden
- c++中 static 变量和函数能否被子类继承
- 匿名内部类 是否可以继承其它类,是否可以实现接口?
- 继承CListCtrl后,可以改变行的颜色,程序出现错误。
- 可以继承的枚举类
- (继承,多态) 银行的客户分为两类,储蓄账户(SavingAccount)和信用账户(CreditAccount),区别在于储蓄账户不允许透支,而信用账户可以透支,并允许用户设置自己的透支额度。
- CSS中可以和不可以继承的属性
- 接口(interface)原来是可以被继承(extends)的
- c++ 非虚拟继承可以正常使用,虚拟继承后执行的问题
- 静态属性和静态方法可以被继承,但没有被重写(overwrite)而是被隐藏