写点什么

一个例子理解 C++ 面向对象——构造函数、虚函数、抽象基类

  • 2024-11-01
    四川
  • 本文字数:886 字

    阅读完需:约 3 分钟

一个例子理解C++面向对象——构造函数、虚函数、抽象基类

让我们来深入理解一下 C++面向对象的几个重要概念——构造函数、虚函数和抽象基类。


首先,构造函数是一种特殊的成员函数,当创建类的对象时自动调用。它的名称与类名相同,没有返回类型。构造函数可以有参数,可以被重载。例如:


class Box {public:Box() { // 默认构造函数 width = 0;height = 0;}


Box(int w, int h) { // 带参数的构造函数    width = w;    height = h;}
复制代码


private:int width;int height;};​在这个例子中,我们定义了两个构造函数,一个是默认的,不带任何参数,另一个带有两个参数。


其次,虚函数是在基类中使用关键字 virtual 声明的函数。在派生类中重新定义基类中定义的虚函数,你可以对基类的方法进行重写。例如:


class Base {public:virtual void show() { // 虚函数 cout << "This is base class." << endl;}};


class Derived : public Base {public:void show() { // 重写基类的虚函数 cout << "This is derived class." << endl;}};​在这个例子中,基类 Base 有一个虚函数 show,派生类 Derived 重写了这个函数。这就意味着,如果你有一个指向 Derived 对象的 Base 指针,那么通过这个指针调用 show 函数,将执行 Derived 类的 show 函数。


最后,抽象基类是包含至少一个纯虚函数的类。纯虚函数是在基类中声明的虚函数,但是它在基类中没有定义,而是在派生类中定义。例如:


class AbstractBase {public:virtual void show() = 0; // 纯虚函数};


class ConcreteDerived : public AbstractBase {public:void show() { // 在派生类中定义纯虚函数 cout << "This is concrete derived class." << endl;}};​在这个例子中,AbstractBase 是一个抽象基类,它有一个纯虚函数 show。ConcreteDerived 是从 AbstractBase 派生的类,它定义了 show 函数。


以上就是 C++面向对象的构造函数、虚函数和抽象基类的基本概念和例子。理解这些概念是理解 C++面向对象编程的关键。


蓝易云-五网 CN2 服务器【点我购买】


蓝易云采用 KVM 高性能架构,稳定可靠,安全无忧!蓝易云服务器真实 CN2 回国线路,不伪造,只做高质量海外服务器。海外免备案云服务器链接:www.tsyvps.com


蓝易云香港五网 CN2 GIA/GT 精品网络服务器。拒绝绕路,拒绝不稳定。

用户头像

百度搜索:蓝易云 2023-07-05 加入

香港五网CN2免备案服务器

评论

发布
暂无评论
一个例子理解C++面向对象——构造函数、虚函数、抽象基类_百度搜索:蓝易云_InfoQ写作社区