65,210
社区成员
发帖
与我相关
我的任务
分享#include <iostream.h>
class baseclass
{
public:
baseclass(int i):a(i){}//补上
void fn1()
{
++a;
cout <<a <<endl;
}
void fn2()
{
--a;
cout <<a <<endl;
}
int a;
};
class derivedclass:public baseclass
{
public:
derivedclass(int b=0):baseclass(b) //既然这里调用了父类的构造函数(带参数的),那么上面应该补上带int的构造函数
{}
//下面既然是一样的,大可不必!
/*void fn1()
{
++a;
cout <<a <<endl;
}
void fn2()
{
--a;
cout <<a <<endl;
} */
};
void main()
{
derivedclass D;
baseclass *p1=&D; //得赋值
derivedclass *p2=&D; //要不下面那个p1,p2的引用就是空!
cout <<"请输入A的值:" <<endl;
cin>>D.a;
D.fn1();
D.fn2();
p1->fn1();
p1->fn2();
p2->fn1();
p2->fn2();
}
#include <iostream.h>
class baseclass
{
public:
baseclass(int i):a(i){}//补上
void fn1()
{
++a;
cout <<a <<endl;
}
void fn2()
{
--a;
cout <<a <<endl;
}
int a;
};
class derivedclass:public baseclass
{
public:
derivedclass(int b=0):baseclass(b) //既然这里调用了父类的构造函数(带参数的),那么上面应该补上带int的构造函数
{}
void fn1()
{
++a;
cout <<a <<endl;
}
void fn2()
{
--a;
cout <<a <<endl;
}
};
void main()
{
derivedclass D;
baseclass *p1=&D; //得赋值
derivedclass *p2=&D; //要不下面那个p1,p2的引用就是空!
cout <<"请输入A的值:" <<endl;
cin>>D.a;
D.fn1();
D.fn2();
p1->fn1();
p1->fn2();
p2->fn1();
p2->fn2();
}