要包含 派生、继承、构造、析构、虚基类、指针、数组、模块、静态成员、友员 这是个内容,并分一个工程下三个文件来实现(*.cpp 和 *.h 和 main.cpp)。最好多给点注释。
可以是信息管理系统这样的现实内容。
发C文件最好
比如学生信息管理系统、公司职员信息薪水、股市信息、商品价格等等
求一个C++程序,能包括面向对象的所有内容(继承、构造析构、等)
答案:2 悬赏:80 手机版
解决时间 2021-03-16 05:25
- 提问者网友:容嬷嬷拿针来
- 2021-03-15 22:53
最佳答案
- 五星知识达人网友:老鼠爱大米
- 2020-02-28 11:44
//先写个头文件,提供一个虚基类
#ifndef MYPROJECT_H_
#define MYPROJECT_H_
namespace myProject
{
class someClass
{
private:
int num;
public:
virtual void dis()
{
std::cout<<"num"<
}
someClass(){num=99;}
}
}
#endif
//下面写.cpp文件
#include
#include
#include<...>//上面那个头文件
using namespace std;
using namespace myProject;//头文件里的类型在一个命名空间里,这里声明一下
class A: virtual public someClass//以public方式继承someClass
{
private:
int a;
public:
A():someClass()
{a=10;};//无参构造函数
A(int ta){a=ta;};//带一个参数的构造函数
void dis()//这里有个动态联编的概念,不细讲
{
someClass::dis();//调用基类的dis函数
cout<<"a:" }
~AB()//析构函数
{
cout<<"inside discontructor!"<
delete p;//释放动态申请的内存
}
void output()
{
A::dis();
}
bool addInt(int tar)//往数组里放数字,并返回是否成功
{
if(coutOfused
*(p+coutOfused++)=tar;
return coutOfused<(sum+1);
}
int getIntInArray(int i)
{
if(i>coutOfused)
{
cout<<"no such number!"<
return -1;
}
else
{
return *(p+i-1);
}
}
friend void operator+(const AB &tar,const int &i);//友元函数,重载+
friend void operator+(const int &i,const AB &tar);
}
AB operator+(const AB &tar,const int &i)
{
AB temp(tar);
temp.a=tar.a+i;
return temp;
}
AB operator+(const int &i,const AB &tar)
{
AB temp(tar);
temp.a=tar.a+i;
return temp;
}
//类已经写完,三重继承,数组,指针等要求都满足,已经够复杂了下面写个main简单调用一//下
int main()
{
AB instance(10);
instance.addInt(9);
instance.addInt(10);
instance.output();
AB temp;
temp=99+instance;//调用第二个友元函数
temp=instance+99;//调用第一个友元函数
cout<
}
//这个是随意写的,展示了类的一些相关操作,可以参照这个写自己的类完成特定的任务
//客官要求的所有内容上面都有,感觉注释的也够详细了,希望对你有用
#ifndef MYPROJECT_H_
#define MYPROJECT_H_
namespace myProject
{
class someClass
{
private:
int num;
public:
virtual void dis()
{
std::cout<<"num"<
someClass(){num=99;}
}
}
#endif
//下面写.cpp文件
#include
#include
#include<...>//上面那个头文件
using namespace std;
using namespace myProject;//头文件里的类型在一个命名空间里,这里声明一下
class A: virtual public someClass//以public方式继承someClass
{
private:
int a;
public:
A():someClass()
{a=10;};//无参构造函数
A(int ta){a=ta;};//带一个参数的构造函数
void dis()//这里有个动态联编的概念,不细讲
{
someClass::dis();//调用基类的dis函数
cout<<"a:" }
~AB()//析构函数
{
cout<<"inside discontructor!"<
}
void output()
{
A::dis();
}
bool addInt(int tar)//往数组里放数字,并返回是否成功
{
if(coutOfused
return coutOfused<(sum+1);
}
int getIntInArray(int i)
{
if(i>coutOfused)
{
cout<<"no such number!"<
}
else
{
return *(p+i-1);
}
}
friend void operator+(const AB &tar,const int &i);//友元函数,重载+
friend void operator+(const int &i,const AB &tar);
}
AB operator+(const AB &tar,const int &i)
{
AB temp(tar);
temp.a=tar.a+i;
return temp;
}
AB operator+(const int &i,const AB &tar)
{
AB temp(tar);
temp.a=tar.a+i;
return temp;
}
//类已经写完,三重继承,数组,指针等要求都满足,已经够复杂了下面写个main简单调用一//下
int main()
{
AB instance(10);
instance.addInt(9);
instance.addInt(10);
instance.output();
AB temp;
temp=99+instance;//调用第二个友元函数
temp=instance+99;//调用第一个友元函数
cout<
//这个是随意写的,展示了类的一些相关操作,可以参照这个写自己的类完成特定的任务
//客官要求的所有内容上面都有,感觉注释的也够详细了,希望对你有用
全部回答
- 1楼网友:白昼之月
- 2021-03-03 10:06
我就不复制了,谈点本质的问题。
继承,指的是派生类继承基类的特性。这个概念是属于软件工程的概念,c++中也有所体现。
不过不是特别明显,到了c++/cli里面,才能体现到面向对象开发的高效生产力。
构造,指得是构造方法,可以用来初始化类型成员属性。
析构,指的是析构方法,当然,到了高级语言里,这种释放资源的方法,都交给系统自动调用,而不是手动编写,浪费大量时间。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯