C++ - 重载函数属性
来源:互联网 发布:新三板交易软件下载 编辑:程序博客网 时间:2024/05/17 03:08
#include <stdio.h>
class A
{
public:
virtual void foo1() { printf("in A::foo1()/n"); }
private:
virtual void foo2() { printf("in A::foo2()/n"); }
};
// class B 继承 class A, 但是他改写了函数的访问权限
// foo1() 从public被改为private
// foo2() 从private被改为public
class B : public A
{
private:
virtual void foo1() { printf("in B::foo1()/n"); }
public:
virtual void foo2() { printf("in B::foo2()/n"); }
};
int main(int argc, char *argv[])
{
A *a = new B();
a->foo1(); //编译器正常通过编译, 并且运行是调用了B::foo1()函数, 但是B::foo1()是private属性, 不能被这样调用的。
//a->foo2();
printf("Hello World!/n");
return 0;
}
结论就是, 在类继承的操作中我们不应该改变成员的访问权限。
- C++ - 重载函数属性
- C/C++ 函数重载
- [c++]函数重载
- C++:函数重载
- Objective-C函数重载
- c++-函数重载
- C++-函数重载
- C++_函数重载
- 【C++】函数的重载
- 【C++】:C++函数重载
- [C++]函数重载
- C/C++函数重载
- <C++>_函数重载
- 【c++】函数的重载
- <C++>4.重载函数
- 构造函数、方法重载、属性
- C/C++:C++函数重载
- 【C++】重载运算符和重载函数
- .net Windows服务程序和安装程序制作图解 (转)
- 备忘录模式
- 使用飞信VMDotNet使C#程序脱离.NET FRAMEWORK
- 文件上传(Cos和FileUpload和SmartUpload)性能对比
- SQL Server的 排序规则(collation)冲突和解决方案
- C++ - 重载函数属性
- C#中NULL,"",DBNULL,String.Empty,Convert.IsDBNull()的区别
- 重拾VB之二,毫秒篇
- CCombobox使用大全
- 关于工作与生活
- 创建自定义排序DataGrid控件的例子(读取xml)
- pagerank
- AOPのTraceInterceptor
- Javascript学习笔记