设计一个基类,派生类(public) (一个工程包含三个文件) 1.含有承载,构造函数,继承 2.
设计一个基类,派生类(public)(一个工程包含三个文件)1.含有承载,构造函数,继承2.运用到虚函数3.从键盘输入信息4.从屏幕输出信息...
设计一个基类,派生类(public)
(一个工程包含三个文件)
1.含有承载,构造函数,继承
2.运用到虚函数
3.从键盘输入信息
4.从屏幕输出信息 展开
(一个工程包含三个文件)
1.含有承载,构造函数,继承
2.运用到虚函数
3.从键盘输入信息
4.从屏幕输出信息 展开
1个回答
展开全部
第一个文件
// base.h
#ifndef BASE_H
#define BASE_H
#include <string>
#include <iostream>
class Base
{
private:
std::string m;
public:
Base():m(""){}
Base(std::string v):m(v){}
virtual void printstring() const;
virtual void scanstring();
virtual void havesomefun() const{};
virtual void havesomefun(int) const{};
};
class Derived:public Base
{
private:
std::string n;
public:
Derived(void):Base(""),n(""){};
Derived(std::string a,std::string b=""):Base(a),n(b){}
void printstring() const;
void scanstring();
void havesomefun() const;
void havesomefun(int x) const;
};
#endif
第二个文件
// base.cpp
#include "base.h"
void Base::printstring() const
{
std::cout<<"Base:"<<m<<std::endl;
}
void Base::scanstring()
{
std::cout<<"input your string:";
std::cin>>m;
}
void Derived::printstring() const
{
std::cout<<"Derived:"<<n<<std::endl;
}
void Derived::scanstring()
{
std::cout<<"input your string:";
std::cin>>n;
}
void Derived::havesomefun(int x) const
{
std::cout<<"reload add a x = "<<x<<std::endl;
std::cout<<n<<std::endl;
}
void Derived::havesomefun() const
{
std::cout<<"reload just print n:"<<std::endl;
std::cout<<n<<std::endl;
}
第三个文件
// main.cpp
#include <iostream>
#include "base.h"
using namespace std;
int main()
{
Base a;
a.scanstring();
a.printstring();
Derived b;
b.scanstring();
b.printstring();
// test
Base *c = &b;
c->printstring();
c->havesomefun();
c->havesomefun(1);
system("pause");
return 0;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询