在c++和java中我们会定义很多类,但是我们会遇到在对类进行new实例化时会遇到“不能实例化抽象类”或者“抽象类不能实例化”,针对这个问题要首先理解两个内容“抽象类”和“实例化”

如果只是想单纯的理解,那么意思就是你画了一个有四条边的图形你说是矩形

但是这是不可以的,为什么?因为矩形还有一个条件就是要四个内角是直角

其中画有四条边的图形就是抽象类,矩形就是实例化

如果理解了含义但是不懂代码中的定义,那么那么就百度百度定义!定义真的很重要!

抽象类定义:

含有纯虚函数的类称为抽象类

实例化的定义:

用类创建对象的过程

纯虚函数的定义:

一个只有函数名、参数和返回值类型,没有函数体的函数成为纯虚函数。

这一层懂了当然最好

如果不懂再来看看代码test 中shape未编译通过

#include <iostream>
using namespace std;
//定义一个形状抽象类(基类)
class Shape {//保护继承 ,其派生类也会继承保护成员protected:double x;double y;//公有继承public:void set(double i, double j) {x = i;y = j;}//纯虚函数virtual void area() = 0;
};
//定义矩形类并定义其面积为长*宽(派生类)
class Rectangle : public Shape {void area() { cout << x * y << endl; }
};int main() {Rectangle rec; //定义一个矩形对象(实例化)// Shape rec;Shape *p = &rec; //定义一个抽象类的指针,并使它指向矩形对象p->set(2, 4);    //调用p->area();return 0;
}

详细定义矩形,可以实例化并正常输出

未定义,提示含有纯虚函数无法抽象实例化对象

不能实例化抽象类抽象类不能实例化相关推荐

  1. php接口调用实例化,PHP抽象类和接口用法实例详解

    本文实例讲述了PHP抽象类和接口用法.分享给大家供大家参考,具体如下: 前言 对于oop,估计大多数人并不陌生.有些人除PHP外也学习不少其他语言,会发现php的不同之处,可能语法极其丑陋,但并不妨碍 ...

  2. java抽象类实例化_抽象类能实例化吗

    抽象类能实例化吗? 这个问题我想了一个晚上,看了好几篇别人的博客,但结果都各不相同,每个人有每个人的理解,后来我想明白了: 抽象类不能直接通过new去实例化一个对象,那它就是不能实例化,要获取抽象类的 ...

  3. java抽象类为什么不能实例化?

    Q:抽象类中一定有构造器,为什么不能实例化? A: ① 抽象类中的构造器是用来子类实例化的时候调用的,子类要加载父类的属性和方法.(不能因为是抽象类就和继承相矛盾) public class Demo ...

  4. Java抽象类为什么能实例化?

    在学习Java网络编程的时候,我们都写过如下代码: Socket socket = new Socket("127.0.0.1",9000);OutputStream output ...

  5. java 不能实例化类型_java不能实例化类型

    8.String类对象的两种实例化方式_计算机软件及应用_IT/计算机_专业资料.Java8面向对象编程视频课程 1. 课程名称:String 对象的两种实例化方式 2.知识点 2.1....... ...

  6. C++---显示实例化与隐式实例化,显示调用与隐式调用

    出现场景:C++模板中 template<class T> T Add(T left,T right)return left+right; 上述代码只有经过实例化之后才会形成真正的函数,没 ...

  7. 抽象类能否被实例化?

         抽象类是不能被实例化的!!! 实例化实际就是在内存中开辟一块空间用于存储新的产物,即对象.在抽象类中,子类实例化会先初始化父类,但父类初始化并不是创建一个父类对象,而是把父类中定义的对象相关 ...

  8. 【JAVA】为什么抽象类不能被实例化

    今天无意中看到一个问题:为什么抽象类不能实例化? 很多人的答案都是再说使用抽象类的好处,但是并没有回答为什么不能实例化?这个过程就像是在回答:为什么公鸡不能下蛋?然后回答是使用公鸡可以打鸣. 按照我的 ...

  9. python实例化对象代码_python实例化一个对象

    Python中的类为什么要实例化为一个对象才能使用 打个比方: class 人类(object): def __init__(self,性别,年龄,姓名等等): self.性别=性别 self.年龄= ...

最新文章

  1. extjs grid renderer用法
  2. 查询一个表中某个字段最大值的集合
  3. linux 5005端口,Linux配置防火墙端口 8080端口
  4. 概率与统计在计算机应用,计算机技术在概率论和数理统计中的应用
  5. PCA主成分分析 特征降维 opencv实现
  6. 关于虚拟机linux密码的那点事
  7. AIOps中异常检测的简单应用
  8. .net core精彩实例分享 -- 异步和并行
  9. EMNLP 2018 | 为什么使用自注意力机制?
  10. 【SICP练习】150 练习4.6
  11. 成功的人不是最聪明的那个人,但绝对是一个交流很棒的人
  12. asp中把数据导出为excel的2种方法
  13. 【技术类】ArcGIS里做影像分幅裁剪
  14. HDU6578 2019HDU多校训练赛第一场 1001 (dp)
  15. Assigned 函数
  16. 马云又在“吹牛”了:让世界都没有难做的生意
  17. 求美国EO-1卫星的ALI载荷和Hyperion载荷的光谱响应函数
  18. 随机获取数组中的一个元素
  19. Python爬虫爬取天天基金网
  20. ERR_HTTP2_PROTOCOL_ERROR分析

热门文章

  1. 【shell脚本】常用工具的学习grep、sed、awk、cut
  2. 【splishsplash】如何利用blender渲染出流体结果
  3. 2. 输入若干个学生信息(包括学号、姓名和某科成绩),输入学号为0时输入结束,建立一个单向链表,再输入一个成绩值,将成绩大于等于该值的学生信息输出。 输入输出示例: 1 Zhang 78 2 Wang
  4. Java ThreadPool
  5. 个人备考PMP历程分享心得
  6. java自动生成sql语句
  7. 第三周python练习
  8. getElementById( ) 方法
  9. 麻雀搜索算法(SSA)文章复现:《基于混沌麻雀搜索算法的无人机航迹规划方法_汤安迪》
  10. 架构(二):如何对现有系统做微服务改造?