通过基类来声明派生类有何意义?
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication1
{
class Program
{
static void Main()
{
MyBaseClass c = new MyDerivedClass();
Console.ReadLine();
}
}
public class MyBaseClass
{
public void MethodOne()
{
}
}
public class MyDerivedClass : MyBaseClass
{
public void MethodTwo()
{
}
}
}如上面的代码MyBaseClass是一个基类,MyDerivedClass是派生于MyBaseClass的一个类,
通过MyBaseClass声明一个MyDerivedClass的一个派生类c?
程序是允许这样做的,但这样做的意义何在?
为什么不能直接用MyDerivedClass派生类来声明呢?
相关推荐
基类,派生类
基类,派生类
C++ 基类、派生类对象指针的声明与使用
1、类指针、对象指针 class x{ //… public: voidshow(); }; main() { x x1,*ptr1; //定义类x的对象x1和类x的指针ptr1 x x2,*ptr2; //定义类x的对象x2和类x的指针ptr2 x*ptr3; //定义类x的指针ptr3 //… pt
C++基类指针和派生类指针之间的转换方法讲解
函数重载、函数隐藏、函数覆盖 函数重载只会发生在同作用域中(或同一个类中),函数名称相同,但参数类型或参数个数不同。 函数重载不能通过函数的返回类型来区分,因为在函数返回之前我们并不知道函数的返回类型。 函数隐藏和函数覆盖只会发生在基类和派生类之间。 函数隐藏是指派生类中函数与基类中的函数同名,但是这个函数在基类中并没有被定义为虚函数,这种情况就是函数的隐藏。 所谓隐藏是指使用常规的调用方法,派生类对象访问这个函数时,会优先访问派生类中的这个函数,基类中的这个函数对派生类对象来说是隐藏起来的。 但是隐藏并不意味这不存在或完全不可访问。通过 b->Base::func()访问基类中被隐藏的函数。
详解C++中基类与派生类的转换以及虚基类
主要介绍了详解C++中基类与派生类的转换以及虚基类,是C++入门学习中的基础知识,需要的朋友可以参考下
设计基类点类(Point)、直接派生类圆类(Circle)、间接派生类圆柱体类(Cylinder),将求面积的函数(area)声明成虚函数,并在主函数实现虚函数
C++课后题,写的时候脑子比较乱,也不太会写注释,各位随意看看就好 题目:设计基类点类(Point)、直接派生类圆类(Circle)、间接派生类圆柱体类(Cylinder),将求面积的函数(area)声明成虚函数,并在主函数实现虚函数调用,输出点类、圆类和圆柱体类面积。提示:其他数据成员和成员函数请根据需要自行设计。其他提示:点类面积return 0即可。


