广告位联系
返回顶部
分享到

实例:C++ 中const修饰虚函数详解

asp 来源:互联网搜集 作者:酷站 发布时间:2018-04-29 13:29:35 人浏览
摘要

C++ 中const修饰虚函数实例详解 【1】程序1 #include iostreamusing namespace std; class Base{public: virtual void print() const = 0;}; class Test : public Base{public: void print();}; void Test::print(){ cout Test::print() endl;} void main(){

C++ 中const修饰虚函数实例详解

【1】程序1


#include <iostream>
using namespace std;
 
class Base
{
public:
 virtual void print() const = 0;
};
 
class Test : public Base
{
public:
 void print();
};
 
void Test::print()
{
 cout << "Test::print()" << endl;
}
 
void main()
{
 // Base* pChild = new Test(); //compile error!
 // pChild->print();
}

【2】程序2  asp教程

#include <iostream>
using namespace std;
 
class Base
{
public:
 virtual void print() const = 0;
};
 
class Test : public Base
{
public:
 void print();
 void print() const;
};
 
void Test::print()
{
 cout << "Test::print()" << endl;
}
 
void Test::print() const
{
 cout << "Test::print() const" << endl;
}
 
void main()
{
 Base* pChild = new Test();
 pChild->print();
}
/*
Test::print() const
*/

【3】程序3

#include <iostream>
using namespace std;
 
class Base
{
public:
 virtual void print() const = 0;
};
 
class Test : public Base
{
public:
 void print();
 void print() const;
};
 
void Test::print()
{
 cout << "Test::print()" << endl;
}
 
void Test::print() const
{
 cout << "Test::print() const" << endl;
}
 
void main()
{
 Base* pChild = new Test();
 pChild->print();
 
 const Test obj;
 obj.print();
 
 Test obj1;
 obj1.print();
 
 Test* pOwn = new Test();
 pOwn->print();
}
 
/*
Test::print() const
Test::print() const
Test::print()
Test::print()
*/

备注:一切皆在代码中。

总结:const修饰成员函数,也属于函数重载的一种范畴。

 


版权声明 : 本文内容来源于互联网或用户自行发布贡献,该文观点仅代表原作者本人。本站仅提供信息存储空间服务和不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权, 违法违规的内容, 请发送邮件至2530232025#qq.cn(#换@)举报,一经查实,本站将立刻删除。
原文链接 :
相关文章
  • 本站所有内容来源于互联网或用户自行发布,本站仅提供信息存储空间服务,不拥有版权,不承担法律责任。如有侵犯您的权益,请您联系站长处理!
  • Copyright © 2017-2022 F11.CN All Rights Reserved. F11站长开发者网 版权所有 | 苏ICP备2022031554号-1 | 51LA统计