派生类初始化基类数据 时,采用成员 初始化列表语法,如下格式,冒号基类初始化,派生新增的初始化。对于派生类私有不能让访问, 但是保护的和共有的都可以访问。
newmyc::newmyc(int &t,const std::string &fn,const std::string &ln):myc(fn,ln)
{
age = t;
cout<<"派生继承"<<endl;
}
虚函数实现,同一个函数名称, 实现不同的功能。虚的析构函数,也是必要的。如果在基类中函数呗重载,则 继承里面也要把重载写全 。
virtual void Vir();//名字相同,实现功能不同。
virtual关键字只用在声明中
void myc::Vir()
{
cout<<"基类的虚函数"<<endl;
}
如果virtual void Vir()=0;纯虚函数
抽象基类,在基类中可以不定义
友元函数,在类中,成员函数之前加上friend, 主函数直接使用, 不可被继承, 不能是虚函数
friend void youyuan();
cpp
void youyuan()
{
std::cout<<"YYHS"<<std::endl;
}
main
youyuan();
命名空间namespace;
.h
namespace yy
{
void myout();
}
.cpp
namespace yy
{
void myout()
{
std::cout<<"my namespace yy"<<std::endl;
}
}
mian
yy::myout();