📅  最后修改于: 2023-12-03 15:06:28.356000             🧑  作者: Mango
在C++中,每个类都会从一个父类继承,如果你没有指定父类,则默认情况下会从C++的最基本的父类Object
继承。
Object
类是C++中所有类的最基本的父类,它定义了一些基本的方法和属性,包括以下:
toString()
:将当前对象转化为字符串类型。hashCode()
:返回当前对象的哈希码。equals(obj)
:判断当前对象是否和传入的对象obj
相等。clone()
:克隆当前对象的一个副本。finalize()
:对象销毁前会被调用。Class
:当前对象所属的类的信息。继承是C++中面向对象编程非常重要的一个特性,它允许类从一个基类派生出新的类,并继承基类中所有的方法和属性。
class BaseClass {
public:
void doSomething() {
std::cout << "I am BaseClass!";
}
};
class SubClass : public BaseClass {
public:
void doSomething() {
std::cout << "I am SubClass!";
}
};
int main() {
SubClass obj;
obj.doSomething(); // I am SubClass!
return 0;
}
在上面的例子中,SubClass
类从BaseClass
类继承了doSomething()
方法,并重写了这个方法。
C++中还支持多继承,也就是一个类可以从多个父类中继承方法和属性。但是多继承会带来一些问题,比如命名空间冲突等等,所以使用多重继承时需要谨慎。
class MyClass : public BaseClass1, public BaseClass2 {
public:
void doSomething() {
std::cout << "I am MyClass!";
}
};
int main() {
MyClass obj;
obj.doSomething(); // I am MyClass!
obj.BaseClass1::doSomething(); // I am BaseClass1!
obj.BaseClass2::doSomething(); // I am BaseClass2!
return 0;
}
在上面的例子中,MyClass
类从BaseClass1
和BaseClass2
两个类中分别继承了doSomething()
方法。
在C++中,每个类都会从一个基类继承属性和方法,如果没有指定基类,则会默认继承Object
类。继承是C++中面向对象编程非常重要的一个特性,它允许类从父类中派生出新的类,并继承父类中所有的方法和属性。多继承也是C++的一个特性,但是使用时需要谨慎。