学习C++笔记311

简介: C++ 多态

A 类继承 B 类,A 类重写了 B 类的虚函数 B2,而 B 类的 B1 中调用了 B2,则 A 类使用 B1 时,运行时 B1 中的 B2 将执行 A 类中重写的虚函数B2。

例程如下:

#include

usingnamespace std;

class B

{

public:    

void B1(void)

{

B2();

}


virtualvoid B2(void)

{

cout <<"Hello, B2"<< endl;

}

   

};


class A:public B

{

public:

virtualvoid B2(void)

{

cout <<"Hello, A"<< endl;

}


};


int main()

{

   A *pA=new A;

   pA->B1();

   cout <<"Hello, world!"<< endl;

       return0;

}

执行结果:

Hello, A

Hello, world!

目录
相关文章
|
1天前
|
存储 自然语言处理 编译器
|
1天前
|
存储 程序员 编译器
|
1天前
|
Java C++ iOS开发
|
1天前
|
存储 编译器 文件存储
|
5天前
|
C++
【C++】日期类Date(详解)②
- `-=`通过复用`+=`实现,`Date operator-(int day)`则通过创建副本并调用`-=`。 - 前置`++`和后置`++`同样使用重载,类似地,前置`--`和后置`--`也复用了`+=`和`-=1`。 - 比较运算符重载如`&gt;`, `==`, `&lt;`, `&lt;=`, `!=`,通常只需实现两个,其他可通过复合逻辑得出。 - `Date`减`Date`返回天数,通过迭代较小日期直到与较大日期相等,记录步数和符号。 ``` 这是236个字符的摘要,符合240字符以内的要求,涵盖了日期类中运算符重载的主要实现。
|
7天前
|
C++
C++职工管理系统(类继承、文件、指针操作、中文乱码解决)
C++职工管理系统(类继承、文件、指针操作、中文乱码解决)
10 0
C++职工管理系统(类继承、文件、指针操作、中文乱码解决)
|
2天前
|
编译器 C语言 C++