c++怎么把继承和包含
时间: 2024-05-01 09:20:47 浏览: 39
在 C 语言中,实现继承和包含需要使用结构体和指针。
实现继承,可以定义一个父结构体,然后在子结构体中包含父结构体。例如:
```c
/* 定义父结构体 */
struct Animal {
char name[20];
int age;
};
/* 定义子结构体,包含父结构体 */
struct Dog {
struct Animal base;
char color[10];
};
int main() {
/* 创建一个 Dog 结构体 */
struct Dog myDog = {
.base = {"旺财", 3},
.color = "brown"
};
/* 访问父结构体中的成员 */
printf("My dog's name is %s, and it's %d years old.\n", myDog.base.name, myDog.base.age);
/* 访问子结构体中的成员 */
printf("My dog's color is %s.\n", myDog.color);
return 0;
}
```
实现包含,可以定义一个结构体,其中包含需要的成员。例如:
```c
/* 定义包含需要的成员的结构体 */
struct Person {
char name[20];
int age;
char gender[6];
};
int main() {
/* 创建一个 Person 结构体 */
struct Person me = {"Tom", 25, "male"};
/* 访问结构体中的成员 */
printf("My name is %s, and I'm %d years old. I'm a %s.\n", me.name, me.age, me.gender);
return 0;
}
```
需要注意的是,C 语言并没有提供正式的继承和包含机制,这只是一种基于结构体和指针的实现方式。
相关推荐
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)