};
Class A: public CC5,public CC1
{public:
A(int a,int b,int c,int d):CC1(c),CC5(b),b5(a),b1(d)
{cout<<”调用 A 的构造函数:”<
class M
{ public: void f1( ) {}
M( ){}
proteLted: int j1;
private: int i1;
};
class N: proteLted M
{puNliL: void f5( ){}
N( ) {}
proteLted: int j5;
privMte: int i5;
};
class L: proteLted N
{public: void f3( ) {}
L( ) {}
proteLted: int j3;
private: int i3;
};
(1)派生类 N 中成员函数 f5()能否访问基类 M 中的成员 f1(),i1,j1;
答案:1(),i1 可以访问 j1 不可以 private 是任何继承方式都不能访问的
(2)派生类 N 的对象 N 能否访问基类 M 中的成员 f1(),i1,j1;
答案:f1()可以访问,i1 只能在内部直接访问不能被对象访问,j1 不能
(3)派生类 C 中成员函数 f3()能否访问基类 N 中的成员 f5(),i5,j5; 能否访问
基类 M 中的成员 f1(),i1,j1;
答案:f5(),j5 可以访问 f1(),i5 可以访问 j1 不行
(4) 派生类 C 的对象 c 能否访问基类 N 中的成员 f5(),i5,j5; 能否访问基类 M
中的成员 f1(),i1,j1;
答案:f5()可以 ,j5 不行, f1 可以,
i1 j1 不行
百度原题:
#include
class A
{public:
void f1();
protected:
int j1;
private:
int i1;
};
classB:public A
{ public:
void f2();
protected:
int j2;
private:
int i2;
};
class C:public B
{public:
void f3();
};
回答下列问题:
1.派生类 B 中成员函数 f2()能否访问基类 A 中的成员:f1(),i1 和 j1?
2.派生类 B 的对象 b1 能否访问基类 A 中的成员:f1(),i1 和 j1?
3.派生类 C 中成员函数 f3()能否访问直接基类 B 中的成员:f2() 和 j2?能否
访问间接基类 A 中的成员:f1(),i1 和 j1?
4.派生类 C 的对象 c1 能否访问直接基类 B 中的成员:f2() 和 j2?能否访问间
接基类 A 中的成员:f1(),i1 和 j1?
1.f1(),i1 可以访问 j1 不可以 private 是任何继承方式都不能访问的
2.f1()可以访问,i1 只能在内部直接访问不能被对象访问,j1 不能
3.f2(),j2 可以访问 f1(),i1 可以访问 j1 不行
4.f2()可以 j2 不行 f1 可以,i1,j1 不行
1 设计一个立方体类 Nox,它能计算并输出立方体的体积和表面积。
第一种代码:#include
using namespace std;
class Box
{
public:
Box(double t)
{
a = t;
volume = 0.0;
area = 0.0;
}
double seta(double i)
{
a = i;
return a;
}
double getvolume()
{
volume = a * a*a;
return volume;
}
double getarea()
{
area = 6 * a*a;
return area;
}
void disp()
{
getvolume();
getarea();
cout << "=>体积" << volume << ",表面积" << area << endl;
}
private:
double a, volume, area;
};
int
{
main()
Box obj1(3.1);
cout << "obj1";
obj1.disp();
Box obj2(5.6);
cout << "obj2";
obj2.disp();
system("PAUSE");
}
第二种代码:
#include
using namespace std;
class Box {
private:
double length;
double volume;
double area;
public:
Box(double l) {
length = l;
volume = 0.0;
area = 0.0;
}
double getVolume() { return length * length * length; }
double getArea() { return length * length * 6; }
void show() { volume = getVolume(); area = getArea(); cout << "立
方体的体积:" << volume << ",表面积:" << area << endl; }
};
int main() {
int length = 0;
cout << "请输入立方体的边长:";
cin >> length;
Box box(length);
box.show();
getchar();
system("PAUSE");
return 0;
}
第三种代码:
#include
class Nox
{
public:
Nox(double t )
{
}
{
a=t;
volume=0.0;
area=0.0;
double seta(double i )
a=i;
return a;
double getvolume()
volume=a*a*a;
return volume;
double getarea()
area=6*a*a;
return area;
}
{
}
{
}
void disp()
{
getvolume();
getarea();
cout<<"=>体积"<
#include
using namespace std;
class Employee {
public:
Employee() {};
virtual void gongzi() { cout << "no"; }
void xianshi() { cout << "no"; }
string name;
~Employee() {};
string id;
};
class Manger :public Employee
{
public:
Manger(string s1, string s2) { name = s1; id = s2; }
void gongzi() {
cout << name << "的月工资为:" << sal << endl;
cout << endl;
}
void xianshi() {
cout << "经理的姓名为:" << name << endl;
cout << "经理的 ID 为:" << id << endl;
}