封装继承和多态c++
时间: 2023-12-26 22:05:21 浏览: 143
C++中的封装、继承、多态理解
封装、继承和多态是面向对象编程中的三大特性,C++也支持这三种特性。
1. 封装
封装是指将数据和对数据的操作封装在一起,形成一个类。类中的数据和方法可以设置为私有的,只有类内部可以访问,外部无法访问。这样可以保证数据的安全性和完整性。
下面是一个封装的例子:
```c++
class Person {
private:
string name;
int age;
public:
void setName(string n) {
name = n;
}
void setAge(int a) {
age = a;
}
string getName() {
return name;
}
int getAge() {
return age;
}
};
```
2. 继承
继承是指一个类可以继承另一个类的属性和方法。被继承的类称为父类或基类,继承的类称为子类或派生类。子类可以使用父类的属性和方法,也可以重写父类的方法。
下面是一个继承的例子:
```c++
class Student : public Person {
private:
int id;
public:
void setId(int i) {
id = i;
}
int getId() {
return id;
}
};
```
3. 多态
多态是指同一种类型的对象,在不同的情况下可以有不同的表现形式。C++中实现多态有两种方式:虚函数和模板。
下面是一个虚函数的例子:
```c++
class Shape {
public:
virtual double getArea() {
return 0;
}
};
class Circle : public Shape {
private:
double radius;
public:
Circle(double r) {
radius = r;
}
double getArea() {
return 3.14 * radius * radius;
}
};
class Rectangle : public Shape {
private:
double width;
double height;
public:
Rectangle(double w, double h) {
width = w;
height = h;
}
double getArea() {
return width * height;
}
};
```
阅读全文