让我们来深入理解一下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++面向对象编程的关键。
海外免备案云服务器链接:www.tsyvps.com
蓝易云香港五网CN2 GIA/GT精品网络服务器。拒绝绕路,拒绝不稳定。