C++里有抽象类指针吗?
巴扎黑
巴扎黑 2017-04-17 12:07:06
[C++讨论组]

请问C++有抽象类指针吗?
请问C++有接口类指针吗?
如果有,那么抽象类的指针能指向非抽象的子类对象吗?

巴扎黑
巴扎黑

全部回复(4)
阿神

你是比对java来提问的么?
一个类全是纯虚函数就相当于java的接口,这种类的指针你可以理解为接口类指针
一个类部分是纯虚函数就相当于java的抽象类,这种类的指针你可以理解为抽象类指针

c++其实没有接口概念吧,我是从java转c++的 看你问的感觉也像

最后一个问题,可以,这种指向经常用来实现多态

PHP中文网

c++中的纯虚类可以理解为抽象类~这种类无法实例化,但是可以指向其非纯虚类的子类实例~

怪我咯

抽象类或接口类就是做这个用的

#include <iostream>
using namespace std;

class Base
{
public:
    virtual void foo() = 0;
};

class Child1: public Base
{
public:
    virtual void foo() 
    {
        cout << "Child1 foo" << endl;
    }
};

class Child2: public Base
{
public:
    virtual void foo()
    {
        cout << "Child2 foo" << endl;
    }
};

int main()
{
    Base *p1 = new Child1();
    p1->foo();
    Base *p2 = new Child2();
    p2->foo();
    return 0;
}

输出

Child1 foo
Child2 foo
黄舟

就是纯虚函数啦,你可以百度一些博客看看

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号