黑,教教这个如何理解

黑,教教这个怎么理解啊
#include<iostream.h>
#include<string.h>
class A//定义一个类A
{
public:
A(const char *nm)
{
strcpy(name,nm);
}
protected:
char name[80];
};

class B:public A //A类继承B类
{
public:
B(const char *nm):A(nm)//这个代表什么意思啊
{
}
void PrintName() const;
};

void B::PrintName() const
{
cout<<"name:"<<name<<endl;
}

void main()
{
B b1("wang li");
b1.PrintName();
}

  求解释: B(const char *nm):A(nm)这个代表什么意思啊

------解决方案--------------------
探讨

B(const char *nm):A(nm)//B的构造函数调用A的构造函数初始化从基类继承的成员