子类可以直接调用父类的函数吗?解决方法

子类可以直接调用父类的函数吗?
比如 

class A
{
  ****A();
};

class B: public A
{

}

然后可以直接 B 2B; 2B.****A(); 吗?

------解决方案--------------------
****A();是私有的,不可直接调用
------解决方案--------------------
对,子类可以调用基类所有的public和protected权限的函数。
------解决方案--------------------
public的话是可以的。

其实不用问。自己写个程序去运行一下就知道了。
------解决方案--------------------
探讨

不好意思, 我写错了:


class A
{
public:
****A();
};

class B: public A
{

}

这样可以了吧

------解决方案--------------------
lz这是要干嘛
------解决方案--------------------
其实在MFC中经常会有子类调用父类函数的情况。包括被覆盖的和被隐藏的。
------解决方案--------------------
子类能不能调用父类的函数与继承方式有关,C++有三种继承方式:
1.公用继承(public):对于基类成员在派生类中保持自己原来的的访问级别,原来是public(private/ protected),在派生类中也还是public(private/protected)。
2.受保护继承(protected):基类中的public成员和protected成员在派生类中为protected,private成员类型不变。
3.私有继承(private):积累的所有成员在派生类中都是private的。

类中的成员有三种访问类型:
1.public成员在调用类的函数里可以使用。
2.private成员只能在类的组成部分内使用,如类的定义体,类的成员函数的定义体里。
2.protected成员可以看做是前两者的混合:他像private成员一样不能被类的用户访问,像public成员一样可被该类的派生类访问。
------解决方案--------------------
公有就可以了,如果不可以,继承还有意义吗?
------解决方案--------------------
不可以,标识符不能以数字开头的
所以2B是不合法的
------解决方案--------------------
有权限就可以,不过要以父类名加双冒号调用比如
[code=c/c++]
class A
{
  public:
  void show()
  {
    std::cout < <"I am class A" <std::endl;
    }
}
class B:public A
{
  public:
  void dosomething()
  {
      A::show();
  }
}
[/code]
------解决方案--------------------
C/C++ code
class A
{
  ****A();
};

class B: public A
{

}

B ZB; ZB.****A();

------解决方案--------------------
注意一下,子类不一定可以调用父类的函数,比如如下的代码就是不行的:
C/C++ code
#include <iostream>
using std::cout;
using std::endl;
class   CStrange{
public:
    void    Stricky(){
        cout<<"CStrange!"<<endl;
    }
};

class   CDerived:public CStrange{
public:
    void    Stricky(int iValue){
        cout<<"CDerived!"<<endl;
    }
};

int main(){
    CDerived    object;
    object.Stricky();
}