码迷,mamicode.com
首页 > 其他好文 > 详细

一些小问题

时间:2014-06-11 07:18:16      阅读:193      评论:0      收藏:0      [点我收藏+]

标签:style   class   blog   code   http   tar   

问1:子类继承了父类的所有成员,对吗?

答1:错,子类没有继承父类的构造函数,析构函数,operator=和友元函数。

 

问2:父类指针指向子类对象,通过该指针能够调用子类特有(父类没有)的函数吗?

答2:不能,见下例。

bubuko.com,布布扣
#include <iostream>
using namespace std;

class A{};

class B:public A
{
    void hello()
    {
        cout << "Hello" << endl;
    }
};

int main()
{
    B b;
    
    A* a = &b;    //父类指针指向子类对象 
    
    a->hello();    //编译失败 
}
View Code

 

问3:问2的基础上,若该函数在父类中也声明了,通过该指针能够调用子类特有(父类也有,但函数体不一样)的函数吗?若不能怎么才能做到?

答3:不能,没有虚函数的话,父类指针只能调用父类自己的函数,如果要调用同名的子类函数,则应该将父类的函数声明为虚函数。

一些小问题,布布扣,bubuko.com

一些小问题

标签:style   class   blog   code   http   tar   

原文地址:http://www.cnblogs.com/chenyg32/p/3773668.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!