博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
继承与派生
阅读量:6470 次
发布时间:2019-06-23

本文共 1311 字,大约阅读时间需要 4 分钟。

定义一个哺乳动物Mammal类,数据成员为itsAge,再由此派生出狗Dog类,数据成员为itsWeight,分别定义Mammal类和Dog类的构造和析构函数。另外Mammal类中需定义成员函数GetAge()SetAge()Speak(),其中Speak()函数能够显示“Mammal sound!”。Dog类中需定义成员函数GetWeight()SetWeight()WagTail(),其中WagTail()函数,显示"Tail wagging "。然后通过Debug调试观察基类与派生类的构造函数与析构函数的调用顺序。

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
#include<iostream>
using 
namespace 
std;
class 
Mammal{
public
:
Mammal(
int 
itsAge){
age=itsAge;
cout<<
"Mammal constructor..."
<<endl;
}
~Mammal(){
cout<<
"Mammal destructor..."
<<endl;
}
int 
SetAge(
int 
itsAge){
age=itsAge;
}
int 
GetAge(){
return 
age;
}
int 
Speak(){
cout<<
"Mammal sound!"
<<endl;
}
private
:
int 
age;
};
class 
Dog:
public 
Mammal{
public
:
Dog(
int 
itsAge,
int 
itsWeight):Mammal(itsAge),weight(itsWeight){
cout<<
"Dog constructor..."
<<endl;
}
~Dog(){
cout<<
"Dog destructor..."
<<endl;
}
int 
SetWeight(
int 
itsWeight){
weight=itsWeight;
}
int 
GetWeight(){
return 
weight;
}
int 
WagTail(){
cout<<
"Tail wagging..."
<<endl;
}
private
:
int 
weight;
};
int 
main(){
Dog jack_Dog(1,5);
cout<<
"jack is "
<<jack_Dog.GetAge()<<
" years old"
<<endl;
cout<<
"jack's weight is "
<<jack_Dog.GetWeight()<<endl;
return 
0;
}

 

本文转自 pangfc 51CTO博客,原文链接:http://blog.51cto.com/983836259/1338345,如需转载请自行联系原作者

你可能感兴趣的文章
看我linux如何防SYN***
查看>>
第十八章 Linux集群架构
查看>>
BI技术
查看>>
Count Down
查看>>
Cursor Batch Processing With Update
查看>>
MySQL查看和修改字符集的方法
查看>>
LNMP第二部分nginx、php配置(用户认证、域名重定向、日志、配置缓存、防盗链)...
查看>>
我的友情链接
查看>>
HDU-1878 欧拉回路(并查集,欧拉回路性质)
查看>>
Windows Oracle 11G R2搭建完全指南
查看>>
Unix,BSD,Linux三者有什么区别
查看>>
ACM中java的使用
查看>>
我的友情链接
查看>>
解决JSONObject类找不到的问题
查看>>
CXF3.0.2+Spring3.2.14 Web Service入门实例二
查看>>
利用c语言编写程序输出一个数的每一位(多种方法)
查看>>
GlobalSign 域名型 SSL 证书
查看>>
Linux与云计算——第二阶段Linux服务器架设 第七章:网站WEB服务器架设—用户目录虚拟主机和SSL...
查看>>
关于HTML5你必须知道的28个新特性,新技巧以及新技
查看>>
Java9最新特性有哪些?
查看>>