aaa
#include <iostream> #include <string> using namespace std; //员工基类 class Employee { public: Employee(string value1, int value2):name(value1), beginYear(value2) {} int getBeginYear(void) {return beginYear;} string getName(void) {return name;} double getBasicWage(int currentYear) { int workYear = currentYear - beginYear + 1; return 60000 + workYear * 1000; } virtual double getPrize() = 0; private: string name; int beginYear; }; //销售员类 class Saleman: public Employee { public: Saleman(string value1="CPP", int value2=2022, double value3=0.1, double value4=0.0) :Employee(value1, value2), deductRate(value3), personAmount(value4) {} double DeductRate(void) {return deductRate;} double PersonAmount(void) {return personAmount;} double getPrize() {return deductRate * personAmount;} private: double deductRate, personAmount; }; //经理类 class Manager: public Employee { public: Manager(string value1="CPP", int value2=2022, double value5=0.02, double value6=0.0) :Employee(value1, value2), totalDeductRate(value5), totalAmount(value6) {} double TotalDeductRate(void) {return totalDeductRate;} double TotalAmount(void) {return totalAmount;} double getPrize() {return totalDeductRate * totalAmount;} private: double totalDeductRate, totalAmount; }; int main() { string name1, name2; int year1, year2; double rate1, rate2, amount1, amount2; cin >> name1 >> year1 >> rate1 >> amount1; cin >> name2 >> year2 >> rate2 >> amount2; Saleman s(name1, year1, rate1, amount1); Manager m(name2, year2, rate2, amount2); Employee *e1 = &s, *e2 = &m; int currentYear = 2022; cout << s.getName() << " 的实发工资为 " << (s.getBasicWage(currentYear) + s.getPrize()) << endl; cout << m.getName() << " 的实发工资为 " << (m.getBasicWage(currentYear) + m.getPrize()) << endl; return 0; }
#include <iostream> #include <fstream> #include <string> using namespace std; class Book { public: Book(string value1="000", string value2="book", int value3=0):ID(value1), name(value2), num(value3) {} ~Book() {cout << "Book is delete" << endl;} void setID(string value) {ID = value;} void setName(string value) {name = value;} void setNum(int value) {num = value;} string getID(void) {return ID;} string getName(void) {return name;} int getNum(void) {return num;} void display(void) const {cout << ID << "-" << name << "-" << num << endl;} private: string ID; string name; int num; }; int main() { Book book[4]; for (int i = 0; i < 4; i++) { string ID, name; int num; cin >> ID >> name >> num; book[i].setID(ID); book[i].setName(name); book[i].setNum(num); } int minNum = book[0].getNum(); for (int i = 1; i < 4; i++) { if (book[i].getNum() < minNum) { minNum = book[i].getNum(); } } ofstream outFile("BookLow.txt"); for (int i = 0; i < 4; i++) { book[i].display(); if (book[i].getNum() == minNum) { outFile << book[i].getName() << " "; } } outFile.close(); return 0; }
【C】在类中,如果不做特别说明,所有成员的访问权限均为公有的
【B】调用成员函数实现
【D】公有继承的基类公有成员
【C】非静态成员函数
【B】这个函数所重载的运算符是一个一元运算符
【B】消除二义性
【A】继承
【A】析构函数和构造函数一样可以有形参
【A】3
【B】file.write((char *)&a,sizeof(double)) ;
1. 面向对象程序设计的四大特征分别是抽象、封装、 继承 和 多态 。 2. 在 AB 类的声明体中,语句 AB(AB&x) ; 为 AB 类的 拷贝构造函数的原型说明。 3. 无论是何种继承方式,派生类的成员都不能访问基类 私有 属性的成员。 4. 类中不能修改当前对象数据成员的值的成员函数是 常量成员 函数。 5. 类声明中,说明函数是虚函数的关键字是 virtual。 6. C++通过预先定义的操纵符来控制输出的格式,其中操纵符 setw 用于控制输出项的宽度,其中操纵符 oct 用于控制输出项以八进制形式显示。 7. 在 C++类中,不能实例化对象的类是 抽象类 ,该类中至少具有一个 纯虚函数 。
Template<typename T>
Delete[] v
BaseA(i),b(j)
cout << getA() << "," << b.getA() << endl;
b[i].show();
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· Vue3状态管理终极指南:Pinia保姆级教程