您现在的位置: 中国男护士网 >> 考试频道 >> 计算机等级 >> 二级辅导 >> C十十 >> 辅导 >> 正文    
  C++习题与解析(类和对象-05) 【注册男护士专用博客】          

C++习题与解析(类和对象-05)

www.nanhushi.com     佚名   不详 

题4.分析以下程序的执行结果 
#include 
#include 
class Sample 

public: 
int x,y; 
Sample(){x=y=0;} 
Sample(int a,int b){x=a;y=b;} 
void disp() 

cout<<"x="<else 
cout<<"x!=y"<
}; 

void main() 


题5.分析以下程序的执行结果 
#include 
class Sample 

int x,y; 
public: 
Sample(){x=y=0;} 
Sample(int a,int b){x=a,y=b;} 
~Sample() 

if(x==y) 
cout<<"x=y"<else 
cout<<"x!=y"<
void disp() 

cout<<"x="<
}; 

void main() 

Sample(2,3); 


解: 
本题说明了常量对象的构造函数和析构函数的调用情况。在main()中定义了一个常量对象,常量对象在构造之后立即析构。所以输出为: 
x!=y 
注意:常量对象的作用域不是整个main()函数,而是仅限于包含该常量的值表达式,表达式一旦计算完成,其中的对象就按构造的逆序析构。 



题6.分析以下程序的执行结果 
#include 
class Sample 

public: 
Sample(); 
Sample(int); 
~Sample(); 
void display(); 
protected: 
int x; 
}; 

Sample::Sample() 

x=0; 
cout<<"constructing normally\n"; 


Sample::Sample(int m) 

x=m; 
cout<<"constructing with a number:"<

void Sample::display() 

cout<<"display a number:"<

Sample::~Sample() 

cout<<"destructing\n"; 


void main() 

Sample obj1; 
Sample obj2(20); 
obj1.display(); 
obj2.display(); 


解: 
本题构造函数与析构函数的调用顺序。这里定义了两个对象,先顺序调用obj1和obj2对象的构造函数,再调用各自的成员函数disp(),最后顺序调用obj2和obj1的析构函数。所以输出为: 
constructing nomally 
constructing with a number:20 
display a number:0 
display a number:20 
destructing 
destructing 



题7.分析以下程序的执行结果 
#include 
class Sample 

int n; 
static int sum; 
public: 
Sample(int x){n=x;} 
void add(){sum+=n;} 
void disp() 

cout<<"n="<
}; 

int Sample::sum=0; // 静态数据成员赋初值 

void main() 

Sample a(2),b(3),c(5); 
a.add(); 
a.disp(); 
b.add(); 
b.disp(); 
c.add(); 
c.disp(); 


解: 
本题说明静态数据成员的使用方法。在类中定义了一个静态数据成员sum,在main()之前给它赋初值0,然后在main()中定义了三个对象,并执行各自的add()和disp()方法。所以输出为: 
n=2,sum=2 
n=3,sum=5 
n=5,sum=10 
注意:静态数据成员脱离具体的对象独立存在,其存储单元不是任何对象存储空间的一部分,但逻辑上所有对象都共享这一存储单元,对静态数据成员的任何操作都会访问这一存储单元,从而影响这一存储单元的所有对象。所以说静态数据成员不是对象成员,在引用时不需要用对象名。 

 

文章录入:杜斌    责任编辑:杜斌 
  • 上一篇文章:

  • 下一篇文章:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
     

    联 系 信 息
    QQ:88236621
    电话:15853773350
    E-Mail:malenurse@163.com
    免费发布招聘信息
    做中国最专业男护士门户网站
    最 新 热 门
    最 新 推 荐
    相 关 文 章
    没有相关文章
    专 题 栏 目

      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)                            【进男护士社区逛逛】
    姓 名:
    * 游客填写  ·注册用户 ·忘记密码
    主 页:

    评 分:
    1分 2分 3分 4分 5分
    评论内容:
  • 请遵守《互联网电子公告服务管理规定》及中华人民共和国其他各项有关法律法规。
  • 严禁发表危害国家安全、损害国家利益、破坏民族团结、破坏国家宗教政策、破坏社会稳定、侮辱、诽谤、教唆、淫秽等内容的评论 。
  • 用户需对自己在使用本站服务过程中的行为承担法律责任(直接或间接导致的)。
  • 本站管理员有权保留或删除评论内容。
  • 评论内容只代表网友个人观点,与本网站立场无关。