- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C技术在图书馆藏书类族中的体现
C++技术在图书馆藏书类族中的体现
江汉大学数学与计算机科学学院 152208100066
摘要:本文以图书馆藏书类族的设计为例,说明C++中的对象生存期、访问限制、静态成员和虚函数等技术在该类族中的具体应用,并编写代码验证本文所述问题的解决方案。
关键词:图书馆藏书类族、对象生存期、访问限制、静态成员、虚函数
在C的基础上,一九八三年又由贝尔实验室的Bjarne Strou-strup推出了C++。 C++进一步扩充和完善了C语言,成为一种面向对象的程序设计语言。C++提出了一些更为深入的概念,它所支持的这些面向对象的概念容易将问题空间直接地映射到程序空间,为程序员提供了一种与传统结构程序设计不同的思维方式和编程方法。
(2) Library类的类声明如下:
class Library
{
public:
Library(string n1,double n2){name=n1;number=n2;count++;}
Library(Library p){name=;number=p.number;count++;}
static void Sum(){coutcount;}
~Library();
protected:
string name;
double number;
static int count;
};
(3) Library类的数据成员包括:
name用于存放一本书的名字,number用于存放藏书编号,静态成员count用于记载图书馆藏书总数。
(4) Library类的成员函数包括:
静态成员Sum用于显示当前count的值。
(5) Magazine类的类声明如下:
class Magazine:public Library
{
public:
Magazine(string n1,double n2,string i):Library(n1,n2){ISSN=i;}
void Display();
~Magazine(){}
private:
string ISSN;
};
(6) Magazine类的数据成员包括:
ISSN作为新增的数据成员用于记载国际标准连续出版物编号。
(7) Magazine类的成员函数包括:
虚函数Display作为新增的成员函数用于输出该类的基本信息。
(8) Book类的类声明如下:
class Book:public Library
{
public:
Book(string n1,double n2,string i):Library(n1,n2){ISBN=i;}
virtual void Display();
~Book(){}
protected:
string ISBN;
};
(9) Book类的数据成员包括:
ISBN作为新增的数据成员用于记载国际标准书号。
(10) Book类的成员函数包括:
虚函数Display作为新增的函数成员用于输出该类的基本信息。
(11) OldBook类的类声明如下:
class OldBook:public Book
{
public:
OldBook(string n1,double n2,string i,int y);
virtual void Display();
~OldBook(){cout”Constructor is called. “endl;}
protected:
int year;
};
(12) OldBook类的数据成员包括:
year作为新增的数据成员用于存放书的出版年份。
(13) OldBook类的成员函数包括:
Display,对基类同名函数进行覆盖,针对OldBook的具体情况修改功能,用以显示该类的基本信息。
2. 对象生存期在Library类族中的应用
当创建一个新的对象时,在一个对象的作用范围结束编译器就会自动为该类型生成默认构造函数”Constructor is called. “endl;}
这样定义使得当对象被析构时用户能在显示屏上获取Constructor is called. 这一信息。
如在主函数中进行如下操作:
void main()
{
OldBook p3(真正的人,100031956);
OldBook p4=p3;
p4.Sum();
coutendl;
p3.~OldBook();
p4.Sum();
coutendl;
}
最终显示结果为:
2
Constructor is called.
1
Construc
文档评论(0)