Object类的派生-c++
/*
* @Issue: 生成一个Object抽象类
* @Author: 一届书生
* @LastEditTime: 2020-02-24 10:34:13
*/
#include<iostream>
using namespace std; // Point类
class Point{
int x,y;
public:
// 带参构造函数
Point(int x1,int y1){
this->x=x1;
this->y=y1;
}
// 默认构造函数
Point(){
this->x=0;
this->y=0;
}
// 析构函数
~Point(){} int GetX(){
return x;
}
int GetY(){
return y;
}
void setX(int x1){
x=x1;
}
void setY(int y1){
y=y1;
} void MoveTo(int x1,int y1){
setX(x1);
setY(y1);
}
void Display(){
cout<<"x:"<<x<<endl;
cout<<"y:"<<y<<endl;
} }; // Object抽象类
class Object{
public:
virtual double CalArea()=0;
virtual bool IsIn(Point p)=0;
}; // 矩形Rect类
class Rect:public Object{
Point lt; //左上角
Point rb; //右下角
public:
// 初始化列表构造函数
Rect(Point p1,Point p2):lt(p1),rb(p2){} // 求面积函数
double CalArea(){
return (rb.GetX()-lt.GetX())*(rb.GetY()-lt.GetY());
}
// 判断点是否在矩阵内(边缘也算)
bool IsIn(Point p){
return (p.GetX()>=lt.GetX()&&p.GetX()<=rb.GetX()
&&p.GetY()>=lt.GetY()&&p.GetY()<=rb.GetY());
}
}; int main(){
Object *obj[2];
obj[0]=new Rect(Point(0,0),Point(3,3));
cout<<obj[0]->CalArea()<<endl;
return 0;
}
Object类的派生-c++的更多相关文章
- 4-13 object类,继承和派生( super) ,钻石继承方法
1,object 类 object class A: ''' 这是一个类 ''' pass a = A() print(A.__dict__) # 双下方法 魔术方法 创建一个空对象 调用init方法 ...
- python 全栈开发,Day20(object类,继承与派生,super方法,钻石继承)
先来讲一个例子 老师有生日,怎么组合呢? class Birthday: # 生日 def __init__(self,year,month,day): self.year = year self.m ...
- 面向对象编程(九)——面向对象三大特性之继承以及重写、Object类的介绍
面向对象三大特性 面向对象三大特征:继承 :封装/隐藏 :多态(为了适应需求的多种变化,使代码变得更加通用!) 封装:主要实现了隐藏细节,对用户提供访问接口,无需关心方法的具体实现. 继承:很好的实现 ...
- C# - 系统类 - Object类
Object类 ns:System 此类是所有.NET Framework中的类的基类 Type类就派生自Object类 C#提供了object关键字来表示一个类实例的类型 而无需使用Object作为 ...
- C#判断某个类是否派生某个类或是否实现了某个接口
is和as is关键字可以确定对象实例或表达式结果是否可转换为指定类型.基本语法: expr is type 如果满足以下条件,则 is 语句为 true: expr 是与 type 具有相同类型的一 ...
- 浅析Java的Object类
前言: 最近在回顾Java基础,在此过程中,查看源码是少不了的 这里以JDK8以基准,记录一些自己查看源码的观感 Object类,翻阅源码,看看这个类的所在位置,是在 java.lang 包下 ...
- Java基础12:深入理解Class类和Object类
更多内容请关注微信公众号[Java技术江湖] 这是一位阿里 Java 工程师的技术小站,作者黄小斜,专注 Java 相关技术:SSM.SpringBoot.MySQL.分布式.中间件.集群.Linux ...
- c# System.Object类和数据的安全转型
.NET Fraework 最重要的引用类型之一是System命名空间中Object类.所有的类都是System.Object的派生类.System.Object类型的变量System.Object的 ...
- java中的Object类和其clone()
1.Object是所有类的父类,任何类都默认继承Object,即直接或间接的继承java.lang.Object类.由于所有的类都继承在Object类,因此省略了extends Object关键字. ...
- C#编程(十七)----------Object类
Object类 它是.NET Framework 中所有类的最终基类:它是类型层次结构的根.也就是说所有的类都拥有object类的方法,并能重写,调用. object的构造函数:public Obje ...
随机推荐
- kafka的消费
1.消费方式 consumer 采用 pull(拉) 模式从 broker 中读取数据. push(推)模式很难适应消费速率不同的消费者,因为消息发送速率是由 broker 决定的. 它的目标是尽可能 ...
- JS-1基本语法
初识JavaScript JavaScript是一种运行在客户端的脚本语言 脚本语言:不需要编译,运行过程中由js解释器(js引擎)逐行来进行解释并执行 现在也可以基于Node.js技术进行服务器编程 ...
- 在运行程序是出现sh: 行 1: cls: 未找到命令
在运行程序是出现sh: 行 1: cls: 未找到命令 原因是system("cls");--这是在程序中调用系统命令,但是linux识别不了.功能是清除当前的终端显示数据.找到l ...
- 用python进行二进制bin文件合并
一 基本概念 bin文件合并是嵌入式中常用的,这里给一个实例. 二 实例分析 import os import argparse import hashlib offset1 = 0x0010000 ...
- vivo统一接入网关VUA转发性能优化实践
作者:vivo 互联网服务器团队 - Qiu Xiangcun 本文将探讨如何通过使用Intel QuickAssist Technology(QAT)来优化VUA的HTTPS转发性能.我们将介绍如何 ...
- Linux 常见缩写命令英文全称
linux 命令参考Linux 命令大全: https://man.linuxde.net/ awk = "Aho Weiberger and Kernighan" 三个作者的姓的 ...
- C#事件(event)的理解
一.多播委托的应用--观察者模式 遇到一个开发的问题? 面试者:以面向对象的思想实现一下的场景: 猫:Miao一声,紧接着引发了一系列的行为~ Miao:引发了一系列的动作: 从代码层面来说:代码这样 ...
- 【Linux】Git 安装最新版
# 移除旧版 Git yum remove git # 安装依赖包 yum install curl-devel expat-devel gettext-devel openssl-devel zli ...
- MySQL(单表查询、多表查询、Navicat软件使用、查询练习、pymysql模块)
一 单表操作 表准备和注意事项 create table employee( id int not null unique auto_increment, name varchar(20) not n ...
- Python爬虫实战系列4:天眼查公司工商信息采集
Python爬虫实战系列1:博客园cnblogs热门新闻采集 Python爬虫实战系列2:虎嗅网24小时热门新闻采集 Python爬虫实战系列3:今日BBNews编程新闻采集 Python爬虫实战系列 ...