私有继承、保护继承、公共继承之间的区别(代码形式)
2012-05-14 09:21
330 查看
// Inheritance.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include <iostream> using namespace std; class Parent { public: Parent(int var = 1) { pub = var; ptd = var; prt = var; } public: int pub; protected: int ptd; private: int prt; }; class child1:public Parent { public: int getPub() { return pub; } int getPtd() { return ptd; } /* //错误。不管什么继承,子类不能访问父类的private成员变量,但可以访问protected和public成员变量。 int getPrt() { return prt; } */ }; class child2:protected Parent { public: int getPub() { return pub; } int getPtd() { return ptd; } /* //错误。不管什么继承,子类不能访问父类的private成员变量,但可以访问protected和public成员变量。 int getPrt() { return prt; } */ }; class child3:private Parent { public: int getPub() { return pub; } int getPtd() { return ptd; } /* //错误。不管什么继承,子类不能访问父类的private成员变量,但可以访问protected和public成员变量。 int getPrt() { return prt; } */ }; int _tmain(int argc, _TCHAR* argv[]) { child1 ch1; child2 ch2; child3 ch3; int var = 0; ch1.pub = var; //ch1.ptd = var; //错误。父类的保护成员变量、私有成员不能够被 //var = ch1.ptd; //以任何形式继承的子类的任何对象访问和修改 var = ch1.getPtd(); //var = ch2.pub; //错误。保护继承将父类的中的public和protected成员都变成子类protected类型的成员变量,而一个类的对象是无法访问 //ch2.pub = var; //错误。该类的protected和private成员变量的,所以一个保护继承子类的对象是无法访问和修改父类中public的成员变量的。 var = ch2.getPtd(); //ch3.Pub() = var;//错误。私有继承将父类中的成员变量全部变成子类中private类型的,此时子类对象当然不能修改和访问这些私有成员变量。 var = ch3.getPtd(); return 0; }
相关文章推荐
- 私有继承、保护继承、公共继承之间的区别(代码形式)
- 公有/私有/保护继承、overload/overwrite/override之间的区别
- 从零开始学C++之继承(一):公有/私有/保护继承、overload/overwrite/override之间的区别
- 共有继承,保护继承,私有继承的区别c++代码实例
- 共有继承,保护继承,私有继承的区别c++代码实例
- 共有继承,保护继承,私有继承的区别c++代码实例
- 共有继承,保护继承,私有继承的区别c++代码实例
- 共有继承,保护继承,私有继承的区别c++代码实例
- 共有继承,保护继承,私有继承的区别c++代码实例
- 共有继承,保护继承,私有继承的区别c++代码实例
- 共有继承,保护继承,私有继承的区别c++代码实例
- 从零开始学C++之继承(一):公有/私有/保护继承、overload/overwrite/override之间的区别
- 共有继承,保护继承,私有继承的区别c++代码实例
- 共有继承,保护继承,私有继承的区别c++代码实例
- 共有继承,保护继承,私有继承的区别c++代码实例
- 从零开始学C++之继承(一):公有/私有/保护继承、overload/overwrite/override之间的区别
- 从零开始学C++之继承(一):公有/私有/保护继承、overload/overwrite/override之间的区别
- 公有继承,私有继承,保护继承的区别
- 私有继承,公有继承,保护继承(代码附上自己体会)
- C++中公有继承、保护继承、私有继承的区别