纯虚函数
来源:互联网 发布:九州量子 网络揭牌 编辑:程序博客网 时间:2024/06/11 00:12
纯虚函数定义:
在成员函数的形参后面写上=0,包含纯虚函数的类是抽象类,抽象类不能实例化出对象,纯虚函数在派生类重新定义之后,派生类才能实例化出对象。
class Person
{
public:
virtual void Display() = 0;//纯虚函数
protected:
string _name;
};
class Student :public Person
{};
int main()
{
//Person p;
Student s;//抽象类,不能实例化出对象,所以这里是强制写出纯虚函数
return 0;
}
在派生类重新定义就可以了
class Student :public Person
{
virtual void Display()//重新定义
{}
};
------------------------------------
基类Person,子类Teacher,Student都继承它,
class Person
{
public:
virtual void Display() = 0;//纯虚函数
protected:
string _name;
};
class Teacher :public Person
{
virtual void Display()//重新定义
{
cout << "Teacher" << endl;
}
};
class Student :public Person
{
virtual void Display()//重新定义
{
cout << "Student" << endl;
}
};
int main()
{
Person* p1 = new Teacher;
p1->Display();
Person* p2 = new Student;
p2->Display();
system("pause");
return 0;
}
输出:
Teacher
Student
在成员函数的形参后面写上=0,包含纯虚函数的类是抽象类,抽象类不能实例化出对象,纯虚函数在派生类重新定义之后,派生类才能实例化出对象。
class Person
{
public:
virtual void Display() = 0;//纯虚函数
protected:
string _name;
};
class Student :public Person
{};
int main()
{
//Person p;
Student s;//抽象类,不能实例化出对象,所以这里是强制写出纯虚函数
return 0;
}
在派生类重新定义就可以了
class Student :public Person
{
virtual void Display()//重新定义
{}
};
------------------------------------
基类Person,子类Teacher,Student都继承它,
class Person
{
public:
virtual void Display() = 0;//纯虚函数
protected:
string _name;
};
class Teacher :public Person
{
virtual void Display()//重新定义
{
cout << "Teacher" << endl;
}
};
class Student :public Person
{
virtual void Display()//重新定义
{
cout << "Student" << endl;
}
};
int main()
{
Person* p1 = new Teacher;
p1->Display();
Person* p2 = new Student;
p2->Display();
system("pause");
return 0;
}
输出:
Teacher
Student
阅读全文
1 0
- 纯虚函数
- 纯虚函数
- (纯)虚函数意义
- 纯虚函数
- c++纯虚函数
- 纯虚函数(转)
- 纯虚函数
- 纯虚函数
- C++ 纯虚函数
- c++ 纯虚函数
- 纯虚函数
- 纯虚函数使用
- 什么是纯虚函数?
- 纯虚函数
- 纯虚函数
- 纯虚函数
- 纯虚函数概念
- c++ 纯虚函数
- linux运维积累-------修改服务器配置文件 host
- javascript实例:实现计算器
- 【sort+Linked-list专题】147. Insertion Sort List
- Java开发手册(二):命名
- 第七章 SpringCloud OAuth2认证中心-搭建认证中心
- 纯虚函数
- 【传智播客郑州校区分享】浅谈移动端布局问题
- 2017深圳国际移动医疗健康产业博览会会刊(参展商名录)
- 《项目管理论坛—IT项目管理与职业生涯规划》苏州站
- JavaScript学习12 JS中定义对象的几种方式
- sql基础知识
- vs2013使用QT自带的openGL
- Java开发手册(三):代码风格与日志
- Chrome地址栏使用百度搜索是出现hao_pg尾巴