C++第五章数据的共享与保护练习题

5-1什么是作用域有哪几种类型的作用域

5-2什么叫做可见性可见性的一般规则是什么

5-3下面程序运行结果是什么

#includeusingnamespacestd;intx=5,y=7;voidmyFunction(){inty=10;coutc<"xfrommyFunction:"<

5-5什么叫做静态数据成员它有何特点

5-6什么叫做静态函数成员它有何特点

5-7定义一个Cat类,拥有静态数据成员numOfCats,记录Cat的个体数目;静态成员函数getNumOfCats(),读取numOfCats.设计程序测试这个类,体会静态数据成员和静态成员函数的用法。

5-8什么叫做友元函数什么叫做友元类

5-9如果类A是类B的友元,类B是类C的友元,类D是类A的派生类,那么类B是类A的友元吗类C是类A的友元吗类D是类B的友元吗

5-11在一个文件中定义一个全局变量n,主函数main(),在另一个文件中定义函数fnl(),在main()中对n赋值,再调用fnl(),在fnl()中也对n赋值,显示n最后的值。

5-12在函数fnl()中定义一个静态变量n,fnl()中对n的值加1,在主函数中,调用nl()十次,显示n的值。

5-13定义类X,Y,Z,函数h(X*),满足:类X有私有成员i,Y的成员函数g(X*)是X的友元函数,实现对X的成员i加1;类Z是类X的友元类,其成员函数f(X*)实现对X的成员i加5;函数h(X*)是X的友元函数,实现对X的成员i加10,在一个文件中定义和实现类,在另一个文件中实现main()函数。

5-14定义Boat与Car两个类,二者都有weight属性,定义二者的一个友元函数getTotalWeight().计算二者的重量和。

5-15在函数内部定义的普通局部变量和静态局部变量在功能上有何不同计算机底层对这两类变量做了怎样的不同处理,导致了这种差异

5-1什么是作用域有哪几种类型的作用域标识符的作用范围

#includeusingnamespacestd;intx=5,y=7;voidmyFunction(){inty=10;coutc<"xfrommyFunction:"<

private:staticinta;5-11在一个文件中定义一个全局变量n,主函数main(),在另一个文件中定义函数fnl(),在main()中对n赋值,再调用fnl(),在fnl()中也对n赋值,显示n最后的值。

fn1.main.h文件

#include#include#include"fn1.h"usingnamespacestd;intn;intmain(){n=20;fn1();cout<<"n的值为:"<

#pragmaonceexternintn;voidfn1(){n=30;}5-12在函数fnl()中定义一个静态变量n,fnl()中对n的值加1,在主函数中,调用nl()十次,显示n的值。

#include#includeusingnamespacestd;voidfn1(){staticintn=0;n++;cout<<"n的值为:"<

n的值为:1n的值为:2n的值为:3n的值为:4n的值为:5n的值为:6n的值为:7n的值为:8n的值为:9n的值为:105-13定义类X,Y,Z,函数h(X*),满足:类X有私有成员i,Y的成员函数g(X*)是X的友元函数,实现对X的成员i加1;类Z是类X的友元类,其成员函数f(X*)实现对X的成员i加5;函数h(X*)是X的友元函数,实现对X的成员i加10,在一个文件中定义和实现类,在另一个文件中实现main()函数。

myheader.h文件

#pragmaonce#ifndefMYHEADER_H#defineMYHEADER_HclassX;classY{public:voidg(X*x);};classX{private:inti;public:X():i(0){}friendvoidh(X*x);friendvoidY::g(X*x);friendclassZ;};classZ{public:voidf(X*x){x->i+=5;}};voidh(X*x){x->i+=10;}voidY::g(X*x){x->i++;}#endif//!MYHEADER_Hmain.c文件

#include#include#include"myheader.h"usingnamespacestd;intmain(){Xx;Yy;Zz;z.f(&x);h(&x);y.g(&x);system("pause");return0;}5-14定义Boat与Car两个类,二者都有weight属性,定义二者的一个友元函数getTotalWeight().计算二者的重量和。

THE END
1.什么是静态成员(静态数据成员和静态函数成员)本文详细介绍了C++中的静态成员,包括静态数据成员和静态函数成员。静态数据成员在类中声明,类外初始化,所有对象共享同一份内存,具有唯一性。访问静态数据成员可通过对象或类名,静态函数成员则不包含this指针,无法访问非静态成员。静态成员的特点在于它们不属于特定对象,而是属于类本身,适用于表示所有对象共有的属性或行为https://blog.csdn.net/m0_65334415/article/details/124183166
2.InnoDB静态数据加密以透明的方式支持所有索引如果希望个对象中的数据成员的值是一样的,就可以把它定义为静态数据成员。 1、静态数据成员在内存中只有一份拷贝(而不是每个对象都分别为它保留一份空间),其值对所有对象都是一样的(即所有对象共享静态数据成员)。如果改变它的值,则在各对象中这个数据成员的值都同时改变。 https://blog.51cto.com/u_16099272/12887766
3.什么叫做静态数据成员理想股票技术论坛静态数据成员是面向对象编程中的重要概念,它代表了在类级别而非实例级别存储的数据。了解静态数据成员的定义、用法和特性对于编写高效的程序至关重要。 ,理想股票技术论坛https://www.55188.com/tag-695572.html
4.C++语言程序设计郑莉第四版课后题答案.pdf?5-5什么叫做静态数据成员?它有何特点? 解:类的静态数据成员是类的数据成员的一种特例,采用static关键字来声明。对于类的普数据 成员,每一个类的对象都拥有一个拷贝,就是说每个对象的同名数据成员可以分别存储不同的数值, 这也是保证对象拥有自身区别于其它对象的特征的需要,但是静态数据成员,每个类只要一个拷https://max.book118.com/html/2024/0108/5020120201011040.shtm