c++ 面向对象基础Test——继承、重载、slice赋值
来源:互联网 发布:少年包青天1 知乎 编辑:程序博客网 时间:2024/04/29 05:08
n
// CppTest1.cpp : Defines the entry point for the console application.//#include "stdafx.h"#include <string>#include <iostream>#define PTLN(str) std::cout << "[" << str << "]" << "-------------------" << std::endl;#define PT(str) std::cout << str << std::endl;class Person{public:// 构造函数Person(){PT("Person()");}// 析构函数virtual ~Person(){PT("~Person()");}// 定义虚方法virtual void fun(){PT("Person::fun()");}// 定义方法void fun0(){PT("Person::fun0()");}};class Fan : public Person{public:// 构造函数Fan(){PT("Fan()");}// 析构函数virtual ~Fan(){PT("~Fan()");}// 方法重载virtual void fun() override{PT("Fan::fun()");}// 方法覆盖void fun0(){PT("Fan::fun0()");}};int _tmain(int argc, _TCHAR* argv[]){Fan* f1 = new Fan();PTLN(0)f1->fun0();f1->fun();PTLN(1) //------------------Person* p1 = f1;p1->fun0();p1->fun();PTLN(2) //------------------Person p2 = *f1;(&p2)->fun0();(&p2)->fun();PTLN(3) //------------------delete f1;system("pause");return 0;}
运行结果:
Person()Fan()[0]-------------------Fan::fun0()Fan::fun()[1]-------------------Person::fun0()Fan::fun()[2]-------------------Person::fun0()Person::fun()[3]-------------------~Person()~Fan()~Person()请按任意键继续. . .
n
0 0
- c++ 面向对象基础Test——继承、重载、slice赋值
- 面向对象C++——继承
- 黑马程序员——Object-C基础(六)面向对象的特性:继承
- OC基础——面向对象(封装、继承、多态)
- Java基础——面向对象(封装、继承、多态)
- JAVA基础七——面向对象三继承
- Python3.5基础——面向对象与继承
- 黑马程序员——Java基础---面向对象代码块和继承和this和super和重写和重载和final
- OOP面向对象——多态&继承&super&多态&重写&重载
- Python面向对象编程(4)——类的继承与方法重载
- C#面向对象(OOP)入门—第一天—多态和继承(方法重载)
- 面向对象的特征之—继承(方法重载 vs 方法重写)
- 面向对象——继承
- 面向对象——继承
- 面向对象——继承
- 面向对象——继承
- 面向对象——继承
- 面向对象——继承
- 关于VMware虚拟机的上网问题[Workstation版本]
- 一道做起来很舒服的题
- Oracle 11.2.0.1 升级到 11.2.0.3 示例
- Cocos2d-JS环境配置教程
- linux内核CFS进程调度策略
- c++ 面向对象基础Test——继承、重载、slice赋值
- Linux中文件查找方法大全
- 在android中画圆形图片的几种办法
- 系统调用跟我学(4)
- dwr异常处理
- Aizu 2304 Reverse Roads 网络流
- win8.1和ubuntu14.04双系统安装
- Elasticsearch安装中文分词插件ik
- grub2学习和Boot-Repair