c++的public继承
时间: 2023-12-06 07:01:17 浏览: 30
在C++中,有三种继承方式:public继承,protected继承和private继承。而C语言并不支持面向对象的概念,因此不存在继承的概念。
对于C++中的public继承,它是一种最常用的继承方式,它的特点是:基类中的public成员和protected成员都可以被派生类访问,而基类中的private成员只能被基类本身访问,派生类无法直接访问。
public继承的语法如下:
```c++
class Derived : public Base {
// ...
};
```
其中,Base是基类,Derived是派生类。使用public继承方式,就可以让Derived类继承Base类的public和protected成员,同时也可以定义自己的public和protected成员,以及重写基类的虚函数。
相关问题
c++ public 继承权限
C++中的public继承权限表示派生类可以访问基类的公有成员。在public继承中,基类的公有成员在派生类中仍然是公有的,可以通过派生类的对象直接访问。
例如,如果有一个基类Base和一个派生类Derived,其中Base有一个公有成员函数和一个公有数据成员,那么在Derived中使用public继承时,这些公有成员在Derived中仍然是公有的,可以直接访问。
以下是一个简单的示例代码:
```cpp
class Base {
public:
void publicFunction() {
// 公有成员函数
}
int publicData; // 公有数据成员
};
class Derived : public Base {
// 可以直接访问基类的公有成员
};
int main() {
Derived derivedObj;
derivedObj.publicFunction(); // 可以调用基类的公有成员函数
derivedObj.publicData = 10; // 可以访问基类的公有数据成员
return 0;
}
```
在这个例子中,Derived使用public继承自Base,因此Derived可以直接访问Base的公有成员函数publicFunction和公有数据成员publicData。
c++ 继承为什么加public
在C++中,继承有三种访问权限:public、protected、private。当我们在声明一个继承关系时,加上public、protected、private关键字,用于指定派生类对基类成员的访问权限。
其中,public继承意味着派生类可以访问基类的public成员和protected成员,但不能访问基类的private成员。这是由于public继承是is-a关系,派生类是基类的一种特殊情况,因此可以访问公共的成员。
例如,如果有一个基类Animal,派生类Dog,Dog可以继承Animal的public成员和protected成员,因为Dog是一种Animal,可以具有Animal的特性和行为。
因此,public继承是最常用的继承方式。