如何理解并实现C++中虚函数的详细解释及基础案例?
- 内容介绍
- 文章标签
- 相关推荐
本文共计476个文字,预计阅读时间需要2分钟。
C++虚函数详解:虚函数的使用和纯虚函数的使用。虚函数是在基类中定义,并在子类中被重写的函数。当基类的指针指向子类对象时,通过基类指针调用虚函数,会根据实际对象类型调用子类的重写函数。纯虚函数是在基类中声明但没有实现的虚函数,用于定义一个抽象基类。
C++ 虚函数的详解
虚函数的使用和纯虚函数的使用。
虚函数是在基类定义,然后子类重写这个函数后,基类的指针指向子类的对象,可以调用这个函数,这个函数同时保留这子类重写的功能。
纯虚函数是可以不用在基类定义,只需要声明就可以了,然后因为是纯虚函数,是不能产生基类的对象,但是可以产生基类的指针。
纯虚函数和虚函数最主要的区别在于,纯虚函数所在的基类是不能产生对象的,而虚函数的基类是可以产生对象的。
// pointers to base class #include <iostream> using namespace std; class Polygon { protected: int width, height; public: void set_values (int a, int b) { width=a; height=b; } virtual int area(){ return 0; } }; class Rectangle: public Polygon { public: int area() { return width*height; } }; class Triangle: public Polygon { public: int area() { return width*height/2; } }; int main(){ Polygon *p1,*p2; Rectangle rec; Triangle tri; p1 = &rec; p2 = &tri; p1->set_values(1,2); p2->set_values(2,4); cout << rec.area() << endl; cout << tri.area() << endl; cout << p1->area() << endl; cout << p2->area() << endl; return 0; }
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
本文共计476个文字,预计阅读时间需要2分钟。
C++虚函数详解:虚函数的使用和纯虚函数的使用。虚函数是在基类中定义,并在子类中被重写的函数。当基类的指针指向子类对象时,通过基类指针调用虚函数,会根据实际对象类型调用子类的重写函数。纯虚函数是在基类中声明但没有实现的虚函数,用于定义一个抽象基类。
C++ 虚函数的详解
虚函数的使用和纯虚函数的使用。
虚函数是在基类定义,然后子类重写这个函数后,基类的指针指向子类的对象,可以调用这个函数,这个函数同时保留这子类重写的功能。
纯虚函数是可以不用在基类定义,只需要声明就可以了,然后因为是纯虚函数,是不能产生基类的对象,但是可以产生基类的指针。
纯虚函数和虚函数最主要的区别在于,纯虚函数所在的基类是不能产生对象的,而虚函数的基类是可以产生对象的。
// pointers to base class #include <iostream> using namespace std; class Polygon { protected: int width, height; public: void set_values (int a, int b) { width=a; height=b; } virtual int area(){ return 0; } }; class Rectangle: public Polygon { public: int area() { return width*height; } }; class Triangle: public Polygon { public: int area() { return width*height/2; } }; int main(){ Polygon *p1,*p2; Rectangle rec; Triangle tri; p1 = &rec; p2 = &tri; p1->set_values(1,2); p2->set_values(2,4); cout << rec.area() << endl; cout << tri.area() << endl; cout << p1->area() << endl; cout << p2->area() << endl; return 0; }
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

