学习C++笔记310

简介: C++ 多态

visual studio code1、多态的理念主要就是用到纯虚函数或者虚函数这个,这个c++的特殊处理函数利用父对象指针来访问子对象,然后根据子对象的函数来调用。

#include

usingnamespace std;

class parent

{

   public:

       parent(int a =0):a(a){};

       ~parent(){};

       virtualvoid show_classname()=0;

   private:

       int a;

};

class child1 :public parent

{

   public:

       child1(int a=0,int b =0):parent(a),b(b){};

       ~child1(){};

       void show_classname(){

           cout <<"class name is child1"<<endl; 

       }

   private:

       int b;

};

class child2 :public parent

{

   public:

       child2(int a=0,int c =0):parent(a),c(c){};

       ~child2(){};

       void show_classname()

       {

         cout<<"class name is child2"<<endl;

       }

   private:

       int c;

};

int main()

{

 child1 b;

 child2 c;

 parent *a;

 a=&b;

 cout <<"a ---> b"<<endl;

 a->show_classname();

 a=&c;

 cout <<"a ---> c"<<endl;

 a->show_classname();

}

结果:

a ---> b

class name is child1

a ---> c

class name is child2

目录
相关文章
|
19天前
|
C++
c++的学习之路:27、红黑树
c++的学习之路:27、红黑树
30 4
|
19天前
|
存储 C++ 容器
c++的学习之路:26、AVL树
c++的学习之路:26、AVL树
27 0
|
2天前
|
编译器 C++
【C++】继续学习 string类 吧
首先不得不说的是由于历史原因,string的接口多达130多个,简直冗杂… 所以学习过程中,我们只需要选取常用的,好用的来进行使用即可(有种垃圾堆里翻美食的感觉)
7 1
|
2天前
|
算法 安全 程序员
【C++】STL学习之旅——初识STL,认识string类
现在我正式开始学习STL,这让我期待好久了,一想到不用手撕链表,手搓堆栈,心里非常爽
9 0
|
2天前
|
存储 安全 测试技术
【C++】string学习 — 手搓string类项目
C++ 的 string 类是 C++ 标准库中提供的一个用于处理字符串的类。它在 C++ 的历史中扮演了重要的角色,为字符串处理提供了更加方便、高效的方法。
10 0
【C++】string学习 — 手搓string类项目
|
12天前
|
编译器 C语言 C++
【C++入门学习指南】:函数重载提升代码清晰度与灵活性
【C++入门学习指南】:函数重载提升代码清晰度与灵活性
23 0
|
13天前
|
安全 Java 程序员
【C++笔记】从零开始认识继承
在编程中,继承是C++的核心特性,它允许类复用和扩展已有功能。继承自一个基类的派生类可以拥有基类的属性和方法,同时添加自己的特性。继承的起源是为了解决代码重复,提高模块化和可维护性。继承关系中的类形成层次结构,基类定义共性,派生类则根据需求添加特有功能。在继承时,需要注意成员函数的隐藏、作用域以及默认成员函数(的处理。此外,继承不支持友元关系的继承,静态成员在整个继承体系中是唯一的。虽然多继承和菱形继承可以提供复杂的设计,但它们可能导致二义性、数据冗余和性能问题,因此在实际编程中应谨慎使用。
17 1
【C++笔记】从零开始认识继承
|
17天前
|
C++
C++从入门到精通:2.1.2函数和类——深入学习面向对象的编程基础
C++从入门到精通:2.1.2函数和类——深入学习面向对象的编程基础
|
18天前
|
缓存 网络协议 编译器
针对Android系统工程师的C/C++学习目录
针对Android系统工程师的C/C++学习目录
5 0
|
19天前
|
存储 自然语言处理 C++
c++的学习之路:25、map与set
c++的学习之路:25、map与set
15 0