#include<iostream>
using namespace std;
//普通实现页面
//
////java页面
//class Java
//{
//public:
// void header()
// {
// cout << "首页、公开课、登录、注册...(公共头部)" << endl;
// }
// void footer()
// {
// cout << "帮助中心、交流合作、站内地图...(公共底部)" << endl;
// }
// void left()
// {
// cout << "Java、C++、Python...(公共分类列表)" << endl;
// }
// void content()
// {
// cout << "Java 学科视频" << endl;
// }
//};
//
////Python页面
//class Python
//{
//public:
// void header()
// {
// cout << "首页、公开课、登录、注册...(公共头部)" << endl;
// }
// void footer()
// {
// cout << "帮助中心、交流合作、站内地图...(公共底部)" << endl;
// }
// void left()
// {
// cout << "Java、C++、Python...(公共分类列表)" << endl;
// }
// void content()
// {
// cout << "Python 学科视频" << endl;
// }
//};
//
////C++页面
//class CPP
//{
//public:
// void header()
// {
// cout << "首页、公开课、登录、注册...(公共头部)" << endl;
// }
// void footer()
// {
// cout << "帮助中心、交流合作、站内地图...(公共底部)" << endl;
// }
// void left()
// {
// cout << "Java、C++、Python...(公共分类列表)" << endl;
// }
// void content()
// {
// cout << "C++ 学科视频" << endl;
// }
//};
//
//void test14()
//{
// cout << "Java下载视频页面如下:" << endl;
// Java ja;
// ja.header();
// ja.footer();
// ja.left();
// ja.content();
// cout << "-------------------------------" << endl;
// cout << "Python下载视频页面如下:" << endl;
// Python py;
// py.header();
// py.footer();
// py.left();
// py.content();
// cout << "-------------------------------" << endl;
// cout << "C++下载视频页面如下:" << endl;
// CPP c;
// c.header();
// c.footer();
// c.left();
// c.content();
//}
////继承实现页面
//class Basepage
//{
//public:
// void header()
// {
// cout << "首页、公开课、登录、注册...(公共头部)" << endl;
// }
// void footer()
// {
// cout << "帮助中心、交流合作、站内地图...(公共底部)" << endl;
// }
// void left()
// {
// cout << "Java、C++、Python...(公共分类列表)" << endl;
// }
//};
////Java页面
//class Java :public Basepage
//{
//public:
// void content()
// {
// cout << "Java 学科视频" << endl;
// }
//};
////Python页面
//class Python :public Basepage
//{
//public:
// void content()
// {
// cout << "Python 学科视频" << endl;
// }
//};
////C++页面
//class CPP :public Basepage
//{
//public:
// void content()
// {
// cout << "CPP 学科视频" << endl;
// }
//};
//void test14()
//{
// cout << "Java下载视频页面如下:" << endl;
// Java ja;
// ja.header();
// ja.footer();
// ja.left();
// ja.content();
// cout << "-------------------------------" << endl;
// cout << "Python下载视频页面如下:" << endl;
// Python py;
// py.header();
// py.footer();
// py.left();
// py.content();
// cout << "-------------------------------" << endl;
// cout << "C++下载视频页面如下:" << endl;
// CPP c;
// c.header();
// c.footer();
// c.left();
// c.content();
//}
////继承方式
////公共继承
//class Base1
//{
//public:
// int m_a;
//protected:
// int m_b;
//private:
// int m_c;
//};
//class Son1 :public Base1
//{
// void func()
// {
// m_a = 10; //父类中公共权限成员 子类中也公共
// m_b = 20; //父类中保护权限成员 子类中也保护
// //m_c = 30; //父类中私有权限成员 子类不能访问
// }
//};
//
////保护继承
//class Base2
//{
//public:
// int m_a;
//protected:
// int m_b;
//private:
// int m_c;
//};
//class Son2 :protected Base2
//{
// void func()
// {
// m_a = 10; //父类中公共权限成员 子类中也公共
// m_b = 20; //父类中保护权限成员 子类中也保护
// //m_c = 30; //父类中私有权限成员 子类不能访问
// }
//};
////私有继承
//class Base3
//{
//public:
// int m_a;
//protected:
// int m_b;
//private:
// int m_c;
//};
//class Son3 :private Base3
//{
// void func()
// {
// m_a = 10; //父类中公共权限成员 子类中也公共
// m_b = 20; //父类中保护权限成员 子类中也保护
// //m_c = 30; //父类中私有权限成员 子类不能访问
// }
//};
//void test14()
//{
// Son1 s1;
// s1.m_a = 100;
// //s1.m_b = 100; //Son1 中m_b是保护权限 类外访问不到
//
// Son2 s2;
// //s2.m_a = 100; //Son2 是保护权限 类外访问不到
//
// Son3 s3;
// //s3.m_a; //Son3 是私有权限 类外访问不到
//}
////继承中的对象模型
//class Base
//{
//public:
// int m_a;
//protected:
// int m_b;
//private:
// int m_c;
//};
//class Son :public Base
//{
//public:
// int m_p;
//};
//void test14()
//{
// //父类中所有非静态成员属性都会被子类继承下去
// //父类中私有的成员属性被编译器隐藏 但依旧继承下去了
// cout << "sizeof Son=" << sizeof(Son) << endl; //16
//}
////继承中的构造和析构的顺序
//class Base
//{
//public:
// Base()
// {
// cout << "Base构造函数!" << endl;
// }
// ~Base()
// {
// cout << "Base析构函数!" << endl;
// }
//};
//class Son :public Base
//{
//public:
// Son()
// {
// cout << "Son构造函数!" << endl;
// }
// ~Son()
// {
// cout << "Son析构函数!" << endl;
// }
//};
//void test14()
//{
// //Base b;
// Son s;
//}
////继承中同名成员处理
//class Base
//{
//public:
// Base()
// {
// m_a = 100;
// }
// void func()
// {
// cout << "Base - func()调用" << endl;
// }
// int m_a;
//};
//class Son :public Base
//{
//public:
// Son()
// {
// m_a = 200;
// }
// void func()
// {
// cout << "Son - func()调用" << endl;
// }
// int m_a;
//};
//void test14()
//{
// Son s;
// cout << "Son 下 m_a= " << s.m_a << endl;
// //如果通过子类对象 访问父类同名成员 需要加作用域
// cout << "Base 下 m_a= " << s.Base::m_a << endl;
//}
////同名成员函数处理
//void test15()
//{
// Son s;
// s.func(); //直接调用 调用的是子类中的同名成员
// s.Base::func();
//}
//菱形继承
//动物类
class Animal1
{
public:
int m_age;
};
//利用虚继承 解决菱形继承问题
// //在继承之前加上关键字 virtual
//羊类
class Sheep:virtual public Animal1{};
//驼类
class Tuo:virtual public Animal1{};
//羊驼类
class Yangtuo:public Sheep,public Tuo{};
void test14()
{
Yangtuo st;
st.Sheep::m_age = 18;
st.Tuo::m_age = 28;
//当出现菱形继承时,两个父类拥有相同的数据,需要加作用域区分
cout << "st.Sheep::m_age = " << st.Sheep::m_age << endl;
cout << "st.Tuo::m_age = " << st.Tuo::m_age << endl;
cout << "st.m_age = " << st.m_age << endl;
//菱形继承导致数据有两份,资源浪费
}
int main9()
{
test14();
//test15();
system("pause");
return 0;
}
钱亚锋
- 粉丝: 107
- 资源: 1万+
最新资源
- Java源码jsp狄氏皮草服装店销售管理系统-毕业设计-期末大作业.zip
- Java源码jsp大学生综合素质测评系统-毕业设计-期末大作业.zip
- Java源码jsp大学新生报到管理系统-毕业设计-期末大作业.zip
- 论文文档八位移位输出芯片在LED大屏幕显示中的应用
- postgis-3.4.0.tar.gz
- 太阳能发电板组框设备sw15可编辑全套技术资料100%好用.zip
- Java源码jsp电子商品销售网站-毕业设计-期末大作业.zip
- Java源码jsp多媒体教学网-毕业设计-期末大作业.zip
- Java源码jsp动画门户网-毕业设计-期末大作业.zip
- [Android实例] 【版主帖推荐】继人员列表,聊天的实现,包括图片,语音-仅用于Android项目学习
- ProxyPool 爬虫代理IP池【python爬虫】
- Java源码jsp二手车销售管理系统-毕业设计-期末大作业.zip
- ABAQUS三维多孔材料,可生成实体多孔材料空隙连接或六面体网格映射模型 可自定义参数包括基体长宽高,骨料半径范围,体积比以及网格的尺寸 可导出到comsol ansys cad等
- Java源码jsp多用户博客系统-毕业设计-期末大作业.zip
- Java源码jsp法律援助与咨询系统-毕业设计-期末大作业.zip
- 减速器含设计文档减速器箱体工艺设计(图)毕业设计
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈