C++ virtual 与"基类"和"派生类"的访问控制
2019-07-31 08:12
155 查看
原文链接:http://www.cnblogs.com/yaohwang/archive/2011/11/27/2367988.html
请先看测试代码:
1 #include "stdafx.h"
2 #include <iostream>
3
4 using namespace std;
5
6 //基类
7 class Base
8 {
9 public:
10 void get() const;
11 private:
12 virtual void dosth() const;
13 };
14
15 void Base::get() const
16 {
17 dosth();
18 }
19
20 void Base::dosth() const
21 {
22 cout << "Base dosth" << endl;
23 }
24
25 //派生类
26 class Derived1: public Base
27 {
28 public:
29 virtual void dosth() const;
30 };
31
32 void Derived1::dosth() const
33 {
34 cout << "Derived1 dosth" << endl;
35 }
36
37 int _tmain(int argc, _TCHAR* argv[])
38 {
39 Base b;
40 Derived1 d1;
41 b.get();
42 d1.get();
43 //b.dosth();
44 d1.dosth();
45 return 0;
46 }
1、d1.get()和d1.dosth()能获得相同结果。
2、基类中的private virtual,我们可以在派生类中实现。
3、基类中的private virtual,我们在派生类的public中实现,并不影响它的virtual性。
转载于:https://www.cnblogs.com/yaohwang/archive/2011/11/27/2367988.html
相关文章推荐
- c++基类成员在派生类中的访问控制
- C++中派生类和基类的转换和访问控制
- C++基类和派生类私有、保护、公有成员访问控制以及动态绑定、三种继承
- C++中派生类对基类成员的访问形式
- C++基类和派生类访问详解
- 三十七、继承与派生:派生类对基类成员的访问控制之公有继承
- C++ virtual 与"基类"和"派生类"的访问控制
- C++中派生类对基类成员的三种访问规则
- 鸡啄米:C++编程入门系列之三十八(继承与派生:派生类对基类成员的访问控制之保护继承与私有继承)
- C++第十三周任务-项目一(理解基类中成员的访问限定符和派生类的继承方式)
- 三十八、继承与派生:派生类对基类成员的访问控制之保护继承与私有继承
- 关于c++在内存布局意义下使用派生类指针访问基类
- c++ 基类已经存在virtual修饰的同名成员函数,派生类加不加无所谓,都是virtual的
- C++派生类对象访问基类的protected成员
- 鸡啄米:C++编程入门系列之三十七(继承与派生:派生类对基类成员的访问控制之公有继承)
- [c++]派生类的访问控制
- C++中派生类对基类成员的三种访问规则
- C++编程入门系列之三十七(继承与派生:派生类对基类成员的访问控制之公有继承)
- C++模板类的派生类中访问基类成员必须显式调用(作用域限定)
- C++中派生类的访问控制