| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1094 人关注过本帖
标题:我初学C++,请老师,前辈给我讲讲这一段程序
只看楼主 加入收藏
萤火
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2004-11-7
收藏
 问题点数:0 回复次数:1 
我初学C++,请老师,前辈给我讲讲这一段程序
一段C++的程序,请老师给我讲一下 画线的地方是我尤其不懂的 #include<iostream> using namespace std; class XX { protected: int k; public: XX(int n=5):k(n){} ~XX(){cout<<"XX";} virtual void f()const=0; }; inline void XX::f()const{cout<<k+3;} class YY:public XX { public: ~YY{cout<<"YY";} void f()const {cout<<k-3;XX::f();} }; int main() { XX &p=* new YY; p.f(); delete &p; return 0; }
搜索更多相关主题的帖子: 前辈 老师 初学 
2005-03-12 18:24
kwaon
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2005-3-20
收藏
得分:0 

XX &p = * new YY; 首先生成一个YY的对象 然后将其转换为XX的引用类型p 看看下面这个修改过的程序 结果 也许能帮你理解 #include<iostream> using namespace std;

class XX { protected: int k; public: XX(int n = 5):k(n){ cout<<" &XX "<<endl;} ~XX(){cout<<" XX del"<<endl;} virtual void f() const = 0; };

inline void XX :: f() const {cout<<k+3<<" XX::f() "<<endl;}

class YY : public XX { public: YY(){cout<<" &YY "<<endl;} ~YY(){cout<<" YY del"<<endl;} void f() const {cout<<k-3<<endl;XX::f();} };

int main() { XX &p = * new YY;//首先生成一个YY实例,然后转换为XX的引用类型p

p.f(); delete &p; return 0; }


2005-03-21 16:27
快速回复:我初学C++,请老师,前辈给我讲讲这一段程序
数据加载中...
 
   



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

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