21次C++作业
//第一题目
class A //A为基类
{public:
void f1( );
int i;
protected:
void f2();
int j;
private:
int k;
};
/*f4里面是可以调用的
C的对象不能直接调用f2()的成员函数里
f2()也是类C的protected 函数在C++中派生类的成员函数是可以直接访问基类的保护成员和公有成员。
*/
class B: public A //B为A的公用派生类
{public:
void f3( );
protected:
int m;
private:
int n;
}; class C: public B //C为B的公用派生类
{public:
void f4();
private:
int p;
}; int main()
{A a1; //a1是基类A的对象
B b1; //b1是派生类B的对象
C c1; //c1是派生类C的对象
return ;
}
//(1)b1.i,b1.j可以,b1.k不可以
//(2)可以
//(3)i,j可以,k不可以
//(4)i,j,m,p可以,k,n,p不可以
//(5)可以
//(6)可以
//第二题目
#include <iostream>
using namespace std;
class A
{public:
void f1( );
protected:
void f2();
private:
int i;
}; class B: public A
{public:
void f3( );
int k;
private:
int m;
}; class C: protected B
{public:
void f4();
protected:
int n;
private:
int p;
}; class D: private C
{public:
void f5();
protected:
int q;
private:
int r;
}; int main()
{A a1;
B b1;
C c1;
D d1;
return ;
}
//第三题目
#include <iostream>
using namespace std;
class A
{
public:
A(){a=;b=;}
A(int i){a=i;b=;}
A(int i,int j){a=i;b=j;}
void display(){cout<<"a="<<a<<" b="<<b;}
private:
int a;
int b;
}; class B : public A
{
public:
B(){c=;}
B(int i):A(i){c=;}
B(int i,int j):A(i,j){c=;}
B(int i,int j,int k):A(i,j){c=k;}
void display1()
{display();
cout<<" c="<<c<<endl;
}
private:
int c;
}; int main()
{ B b1;
B b2();
B b3(,);
B b4(,,);
b1.display1();//a=0,b=0,c=0
b2.display1();//a=1,b=0,c=0
b3.display1();//a=1,b=3,c=0
b4.display1();//a=1,b=3,c=5
return ;
}
//第四题目
#include <iostream>
using namespace std;
class A
{
public:
A(){cout<<"constructing A "<<endl;}
~A(){cout<<"destructing A "<<endl;}
}; class B : public A
{
public:
B(){cout<<"constructing B "<<endl;}
~B(){cout<<"destructing B "<<endl;}
}; class C : public B
{
public:
C(){cout<<"constructing C "<<endl;}
~C(){cout<<"destructing C "<<endl;}
};
int main()
{ C c1;
return ;
}
//a(),b(),c(),~c(),~b(),~a()构造从基类开始,析构顺序相反
//第五题目
#include<string>
#include <iostream>
using namespace std;
class Teacher
{public:
Teacher(string nam,int a,char s,string tit,string ad,string t);
void display();
protected:
string name;
int age;
char sex;
string title;
string addr;
string tel;
}; Teacher::Teacher(string nam,int a,char s,string tit,string ad,string t):
name(nam),age(a),sex(s),title(tit),addr(ad),tel(t){ }
void Teacher::display()
{cout<<"name:"<<name<<endl;
cout<<"age"<<age<<endl;
cout<<"sex:"<<sex<<endl;
cout<<"title:"<<title<<endl;
cout<<"address:"<<addr<<endl;
cout<<"tel:"<<tel<<endl;
} class Cadre
{public:
Cadre(string nam,int a,char s,string p,string ad,string t);
void display();
protected:
string name;
int age;
char sex;
string post;
string addr;
string tel;
}; Cadre::Cadre(string nam,int a,char s,string p,string ad,string t):
name(nam),age(a),sex(s),post(p),addr(ad),tel(t){} void Cadre::display()
{cout<<"name:"<<name<<endl;
cout<<"age:"<<age<<endl;
cout<<"sex:"<<sex<<endl;
cout<<"post:"<<post<<endl;
cout<<"address:"<<addr<<endl;
cout<<"tel:"<<tel<<endl;
} class Teacher_Cadre:public Teacher,public Cadre
{public:
Teacher_Cadre(string nam,int a,char s,string tit,string p,string ad,string t,float w);
void show( );
private:
float wage;
}; Teacher_Cadre::Teacher_Cadre(string nam,int a,char s,string t,string p,string ad,string tel,float w):
Teacher(nam,a,s,t,ad,tel),Cadre(nam,a,s,p,ad,tel),wage(w) {}
void Teacher_Cadre::show( )
{Teacher::display();//调用teacher的display函数输出
cout<<"post:"<<Cadre::post<<endl;
cout<<"wages:"<<wage<<endl;
} int main( )
{Teacher_Cadre te_ca("Wang-li",,'f',"prof.","president","135 Beijing Road,Shanghai","(021)61234567",1534.5);
te_ca.show( );
return ;
}
21次C++作业的更多相关文章
- 2-1 本章作业&2-2 开发系统与工具选择
2-1 2-2 推荐使用Android Studio开发Flutter
- Bulk Insert & BCP执行效率对比
我们以BCP导出的CSV数据文件,分别使用Bulk insert与BCP导入数据库,对比两种方法执行效率 备注:导入目标表创建了分区聚集索引 1.BCP导出csv数据文件 数据量:15000000行, ...
- 福大软工1816 · 课程计划预报(K班)
实践课安排 对应教学周序 时间 内容 3 09.22 业界交流讲座 6 10.13 团队选题报告答辩 7 10.20 UML设计 8 10.27 团队项目需求答辩 11 11.17 团队现场编程实战与 ...
- 《深入理解Oracle 12c数据库管理(第二版)》PDF
一:下载获取位置: 二:本书图样: 三:本书目录: 图书目录: 第1章 安装Oracle 1.1 了解OFA 1.1.1 Oracle清单目录 1.1.2 Oracle基础目录 1.1.3 Oracl ...
- FICO年终完全手册
FICO年终完全手册 一:系统增加配置部分 1,FBN1增加凭证号码范围,OBH2维护会计凭证号码到新的会计年度 2,KS13检查成本中心的有效期 3,KA23检查成本要素的有效期 4,KL03检查作 ...
- Flutter从入门到进阶实战携程网App_汇总贴
视频地址:https://coding.imooc.com/class/321.html?mc_marking=60e5294c605a87b2af7257d06f70505e&mc_chan ...
- day27--Java集合10
Java集合10 21.集合家庭作业 21.1Homework01 按要求实现: 封装一个新闻类,包括标题和内容属性,提供get.set方法,重写toString方法,打印对象时只打印标题: 只提供一 ...
- 团队作业8——第二次项目冲刺(Beta阶段)--5.21 second day
团队作业8--第二次项目冲刺(Beta阶段)--5.21 second day Day two: 会议照片 项目进展 今天是beta冲刺的第二天,组长还在准备考试当中,我们继续做前端改进和后端安排,今 ...
- Java学习作业(14.4.21)
前三次作业都是基础语法.真的好水啊.从这次开始记录. 1.编写Java程序,把当前目录下扩展名为txt的文件的扩展名全部更名为back. import java.io.*; import java.l ...
随机推荐
- jvm 堆
1.堆内存线程共享,在虚拟机启动时创建. 2.几乎所有的对象实例都在堆上分配:栈中存放基本数据类型和堆中对象的引用. GC回收 程序计数器.虚拟机栈.本地方法栈随线程而生,随线程而灭.栈中的栈帧随着方 ...
- ubuntu下安装/升级软件
参考博客:https://blog.csdn.net/yjk13703623757/article/details/78945576 1.查看软件所有来源 ①.使用apt-cache madison列 ...
- 配置本地yum仓库
前言 我们知道yum工具是基于rpm的,其一个重要的特性就是可以自动解决依赖问题,但是yum的本质依旧是把后缀名.rpm的包下载到本地,然后按次序安装之.但是每次执行yum install x ...
- 前端每日实战:14# 视频演示如何用纯 CSS 创作一种侧立图书的特效
效果预览 按下右侧的"点击预览"按钮在当前页面预览,点击链接全屏预览. https://codepen.io/zhang-ou/pen/deVgRM 可交互视频教程 此视频是可以交 ...
- MySQL基础day03 存储引擎和外键MySQL 5.6
MySQL基础day03_存储引擎和外键-MySQL 5.6 外键的条件: 1,表的存储引擎为innodb存储引擎 2,表中外键字段的类型要与参考表的字段类型一致 3,外键字段要是索引类型中的一种 M ...
- Javascript面试题解析
Javascript的一些面试题让很多同学感到头疼,下面就根据兄弟连教育 )毕业学员面试遇到的面试题,给大家做一个简单的分享,希望对初入职场的你们有一些帮助:Javascript面试题解析. 第一题 ...
- 舞蹈课(dancingLessons)
有n个人参加一个舞蹈课.每个人的舞蹈技术由整数ai来决定.在舞蹈课的开始,他们从左到右站成一排.当这一排中至少有一对相邻的异性时,舞蹈技术相差最小的那一对会出列并开始跳舞.如果相差最小的不止一对,那么 ...
- [CSP-S模拟测试]:集合论(模拟)
题目传送门(内部题73) 输入格式 输入文件$jihe.in$ 第一行一个整数$m$,表示操作的次数. 接下来$m$行,每行描述一个操作. 每行的开始都是一个数字,$1,2,3,4$依次代表$unio ...
- 设计模式之动态代理(Java的JDK动态代理实现)
先来看一下思维导图: 对于JDK的动态代理,孔浩老师说学习的方法是把它记下来. 先写一个主题接口类,表示要完成的一个主题. package com.liwei.dynaproxy; /** * 要代理 ...
- COUNT 和 IFNULL函数
用COUNT函数: mysql> SELECT count(one) FROM tb_test;+------------+| count(http://www.amjmh.com/v/BIBR ...