| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1044 人关注过本帖
标题:继承基类的构造和析构函数
只看楼主 加入收藏
live41
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:67
帖 子:12442
专家分:0
注 册:2004-7-22
结帖率:66.67%
收藏
 问题点数:0 回复次数:5 
继承基类的构造和析构函数

#include <iostream.h>

class Base //基类 { public: Base() {cout<<"调用Base构造函数"<<endl;} //基类构造函数 ~Base() {cout<<"调用Base析构函数"<<endl;} //基类析构函数 void Soil() {cout<<"调用Base的Soil函数"<<endl;} //Soil函数 };

class Public : public Base //一级公有继承 { public: Public() {cout<<"调用Public构造函数"<<endl;} //一级继承构造函数 ~Public() {cout<<"调用Public析构函数"<<endl;} //一级继承析构函数 void Cat() {cout<<"调用Public类的Cat函数"<<endl;}//Cat函数 };

class unin //非继承类 { public: unin() {cout<<"调用unin构造函数"<<endl;} //非继承类构造函数 ~unin() {cout<<"调用unin析构函数"<<endl;}//非继承类析构函数 Base u; //创建一个基类对象 };

class Pu_Pu : public Public //二级公有继承 { public: Pu_Pu() {cout<<"调用Pu_Pu构造函数"<<endl;} //二级继承构造函数 ~Pu_Pu() {cout<<"调用Pu_Pu析构函数"<<endl;}//二级继承析构函数 };

void main() { cout<<"创建Base类对象并调用Base类的Soil函数"<<endl; Base a; //创建Base类对象 a.Soil(); //调用Soil函数

cout<<"创建Public类对象并调用Base类的Soil函数和Public类的Cat函数"<<endl; Public b; //创建Public类对象,一级公有继承 b.Soil(); //调用Soil函数 b.Cat(); //调用Cat函数

cout<<"创建unin类对象并调用Base类的Soil函数"<<endl; unin c; //创建unin类对象,非继承 c.u.Soil();//调用Soil函数,作为Base的成员

cout<<"创建Pu_Pu类对象并调用Base类的Soil函数和Public类的Cat函数"<<endl; Pu_Pu d; //创建Pu_Pu类对象,二级公有继承 d.Soil(); //调用Soil函数 d.Cat(); //调用Cat函数 }

运行结果:

创建Base类对象并调用Base类的Soil函数 调用Base构造函数 调用Base的Soil函数 创建Public类对象并调用Base类的Soil函数和Public类的Cat函数 调用Base构造函数 调用Public构造函数 调用Base的Soil函数 调用Public类的Cat函数 创建unin类对象并调用Base类的Soil函数 调用Base构造函数 调用unin构造函数 调用Base的Soil函数 创建Pu_Pu类对象并调用Base类的Soil函数和Public类的Cat函数 调用Base构造函数 调用Public构造函数 调用Pu_Pu构造函数 调用Base的Soil函数 调用Public类的Cat函数 调用Pu_Pu析构函数 调用Public析构函数 调用Base析构函数 调用unin析构函数 调用Base析构函数 调用Public析构函数 调用Base析构函数 调用Base析构函数

搜索更多相关主题的帖子: 基类 函数 构造 继承 
2005-05-15 01:53
指向指针的指针
Rank: 1
等 级:新手上路
帖 子:339
专家分:0
注 册:2004-8-8
收藏
得分:0 
o哦

/sign.png" border="0" onload="if(this.width>screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" onmouseover="if(this.width>screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.style.cursor='hand'; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" onclick="if(!this.resized) {return true;} else {window.open('http://www./sign.png');}" onmousewheel="return imgzoom(this);" alt="" />
2005-05-18 13:01
version
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2005-5-19
收藏
得分:0 
  o   好仔细哦~!!!!!

2005-05-19 16:09
version
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2005-5-19
收藏
得分:0 
学习

2005-05-19 16:14
终南山下
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2005-5-20
收藏
得分:0 
斑竹发此贴,想让我们学什么啊?这个好象蛮简单的哈。。。
2005-05-20 09:14
Antigloss
Rank: 1
等 级:新手上路
帖 子:109
专家分:0
注 册:2004-12-30
收藏
得分:0 
....................写这个帖子的人根本还没有搞懂什么叫 继承
建议仔细看看C++Primer 3rd Edition
2005-05-20 15:00
快速回复:继承基类的构造和析构函数
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016552 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved