cpp面向对象编程
如下图,先建好文件, 这里用的是Visual studio 2010

当然也可以用eclipse for cpp,如下图:

AbstractShape.h
#ifndef ABSTRACTSHAPE_H_
#define ABSTRACTSHAPE_H_
/**
* 抽象形状类
*/
class AbstractShape
{
private:
//私有字段
int edge; public:
//构造函数
AbstractShape(int edge); //实例方法,子类继承后可以重用
int getEdge(); //纯虚函数,父类没有实现,调用时只会调用子类的实现
virtual int calcArea()=;
}; #endif /* ABSTRACTSHAPE_H_ */
AbstractShape.cpp
#include "AbstractShape.h" AbstractShape::AbstractShape(int edge)
{
this->edge = edge;
} int AbstractShape::getEdge()
{
return this->edge;
}
Triangle.h
#include "AbstractShape.h"
#ifndef TRIANGLE_H_
#define TRIANGLE_H_ /**
* 三角形类,继承自抽象形状类
*/
class Triangle: public AbstractShape
{
private:
//私有字段
int bottom;
int height; public:
//构造函数
Triangle(int bottom, int height); //重写父类同名方法,用于实现多态性
int calcArea();
}; #endif /* TRIANGLE_H_ */
Triangle.cpp
#include "AbstractShape.h"
#include "Triangle.h" Triangle::Triangle(int bottom, int height) :
AbstractShape()
{
this->bottom = bottom;
this->height = height;
} int Triangle::calcArea()
{
return this->bottom * this->height / ;
}
Rectangle.h
#include "AbstractShape.h"
#ifndef RECTANGLE_H_
#define RECTANGLE_H_ /**
* 矩形类,继承自形状类
*/
class Rectangle: public AbstractShape
{
private:
//私有字段
int bottom;
int height; public:
//构造函数
Rectangle(int bottom, int height); //重写父类同名方法,用于实现多态性
int calcArea();
}; #endif /* RECTANGLE_H_ */
Rectangle.cpp
#include "AbstractShape.h"
#include "Rectangle.h" Rectangle::Rectangle(int bottom, int height) :
AbstractShape()
{
this->bottom = bottom;
this->height = height;
} int Rectangle::calcArea()
{
return this->bottom * this->height;
}
Main.cpp
#include "AbstractShape.h"
#include "Triangle.h"
#include "Rectangle.h"
#include <iostream>
using namespace std; int main()
{
Triangle triangle = Triangle(, );
cout << triangle.getEdge() << endl;
cout << triangle.calcArea() << endl; Rectangle rectangle = Rectangle(, );
cout << rectangle.getEdge() << endl;
cout << rectangle.calcArea() << endl; return ;
}
编译运行,运行结果:
cpp面向对象编程的更多相关文章
- C++ Primer 学习笔记_72_面向对象编程 --句柄类与继承[续]
面向对象编程 --句柄类与继承[续] 三.句柄的使用 使用Sales_item对象能够更easy地编写书店应用程序.代码将不必管理Item_base对象的指针,但仍然能够获得通过Sales_item对 ...
- ndk学习之c++语言基础复习----面向对象编程
关于面向对象编程对于一个java程序员那是再熟悉不过了,不过对于C++而言相对java还是有很多不同点的,所以全面复习一下. 类 C++ 在 C 语言的基础上增加了面向对象编程,C++ 支持面向对象程 ...
- uda 4.C++面向对象编程
Python vs C++ 对比课 在本课中,你将学习如何用 C++ 编写类.像以前的课程一样,你需要比较 Python 的编程方式和 C++ 中编程方式的不同. 我们直接看例子.下面是一个名为 ...
- angular2系列教程(六)两种pipe:函数式编程与面向对象编程
今天,我们要讲的是angualr2的pipe这个知识点. 例子
- 带你一分钟理解闭包--js面向对象编程
上一篇<简单粗暴地理解js原型链--js面向对象编程>没想到能攒到这么多赞,实属意外.分享是个好事情,尤其是分享自己的学习感悟.所以网上关于原型链.闭包.作用域等文章多如牛毛,很多文章写得 ...
- PHP 面向对象编程和设计模式 (1/5) - 抽象类、对象接口、instanceof 和契约式编程
PHP高级程序设计 学习笔记 2014.06.09 什么是面向对象编程 面向对象编程(Object Oriented Programming,OOP)是一种计算机编程架构.OOP 的一条基本原则是计算 ...
- Delphi_09_Delphi_Object_Pascal_面向对象编程
今天这里讨论一下Delphi中的面向对象编程,这里不做过多过细的讨论,主要做提纲挈领的描述,帮助自己抓做重点. 本随笔分为两部分: 一.面向对象编程 二.面向对象编程详细描述 ------------ ...
- python基础-面向对象编程
一.三大编程范式 编程范式即编程的方法论,标识一种编程风格 三大编程范式: 1.面向过程编程 2.函数式编程 3.面向对象编程 二.编程进化论 1.编程最开始就是无组织无结构,从简单控制流中按步写指令 ...
- 面向对象编程(OOP)
什么是面向对象编程,对于面向对象编程与面向过程编程的解释随处可见,个人认为对面向对象编程解释最好的一个定义是:依赖倒转原则是面向对象编程的标志,面向对象编程是一种思想,无论使用哪一种编程语言,如果在编 ...
随机推荐
- 手把手教你最简单的开源项目托管GitHub入门教程
自从google code关闭了下载服务了之后,GitHub作为了目前最好用的免费开源项目托管站点,众多开源项目都托管在github,其中不乏著名的播放器MPC-HC. 不习惯于英文的朋友,难免少不了 ...
- 在opensuse 中安装视频解码器
最近由于需要32位的linux系统使用,很多版本的linux都不再发布32的安装镜像了,有一些又不是很熟悉,我熟悉的manjaro发布的32镜像又不是kde桌面,最后发现opensuse的滚动版本,即 ...
- Linux设置编译器环境变量
Linux设置编译器环境变量 https://jingyan.baidu.com/article/9f7e7ec0bb22aa6f29155453.html Linux添加环境变量与GCC编译器添加I ...
- JQ面向对象
静态方法:某种类型才有的方法,这个方法干的事情只有类型本身有关,不受具体实例对象的影响,在C#语言中,它用static表示,VB中用share表示,而在jq中我们一般用$或者JQuery表示JQ类型, ...
- redis的持久化(RDB&AOF的区别)
RDB 是什么? 在指定的时间间隔内将内存中的数据集快照写入磁盘, 也就是行话讲的Snapshot快照,它恢复时是将快照文件直接读到内存里. Redis会单独创建(fork)一个子进程来进行持久化,会 ...
- 官方文档,才是正途-docker-compose
需要的ingress网络映射,还是host宿主机端口映射: https://docs.docker.com/compose/compose-file/#secrets ================ ...
- HDU 多校1.11
- (寒假GYM开黑)2018-2019 ACM-ICPC Nordic Collegiate Programming Contest (NCPC 2018)
layout: post title: 2018-2019 ACM-ICPC Nordic Collegiate Programming Contest (NCPC 2018) author: &qu ...
- Linux命令之vim(二)
这一章主要介绍vim编辑器的内部使用方法和注意事项 vim编辑器有四种工作模式:正常模式.插入模式.命令模式.可视模式.简单的判断方法就是看底部,什么都没有就是正常模式,光标在编辑器最底下时则是命令模 ...
- ba resme
Resume Name: Zhou Heng Gender: Male Email : jackyzhouheng@gmail.com Self Assessment: I have more tha ...