当前位置: 技术问答>linux和unix
请教啊
来源: 互联网 发布时间:2015-03-02
本文导语: #include class c1 { public: int a1; int a2; public: c1(); c1(int a1, int a2); }; class c2:c1 { public: int a3; int a4; public: //c2(int a1, int a2); c2(int a1, int a2, int a3, int a4); }; class c3:c2 { public: int a5; int a6; public: //c3(int ...
#include
class c1 {
public:
int a1;
int a2;
public:
c1();
c1(int a1, int a2);
};
class c2:c1 {
public:
int a3;
int a4;
public:
//c2(int a1, int a2);
c2(int a1, int a2, int a3, int a4);
};
class c3:c2 {
public:
int a5;
int a6;
public:
//c3(int a1, int a2, int a3, int a4);
c3(int a1, int a2, int a3, int a4, int a5, int a6);
};
c1::c1() {}
c1::c1(int a1, int a2) {
this->a1 = a1;
this->a2 = a2;
}
//c2::c2(int a1, int a2) {
// this->a1 = a1;
// this->a2 = a2;
//}
c2::c2(int a1, int a2, int a3, int a4) {
this->a1 = a1;
this->a2 = a2;
//c1::c1(a1, a2);
this->a3 = a3;
this->a4 = a4;
}
void main() {
c2 cc = c2(1, 2, 3, 4);
printf("%d, %d, %d, %dn", cc.a1, cc.a2, cc.a3, cc.a4);
//c3 cc = c3(1, 2, 3, 4, 5, 6);
//printf("%d, %d, %d, %d, %d, %dn", cc.a1, cc.a2, cc.a3, cc.a4, cc.a5, cc.a6);
}
怎么就不行呢?
class c1 {
public:
int a1;
int a2;
public:
c1();
c1(int a1, int a2);
};
class c2:c1 {
public:
int a3;
int a4;
public:
//c2(int a1, int a2);
c2(int a1, int a2, int a3, int a4);
};
class c3:c2 {
public:
int a5;
int a6;
public:
//c3(int a1, int a2, int a3, int a4);
c3(int a1, int a2, int a3, int a4, int a5, int a6);
};
c1::c1() {}
c1::c1(int a1, int a2) {
this->a1 = a1;
this->a2 = a2;
}
//c2::c2(int a1, int a2) {
// this->a1 = a1;
// this->a2 = a2;
//}
c2::c2(int a1, int a2, int a3, int a4) {
this->a1 = a1;
this->a2 = a2;
//c1::c1(a1, a2);
this->a3 = a3;
this->a4 = a4;
}
void main() {
c2 cc = c2(1, 2, 3, 4);
printf("%d, %d, %d, %dn", cc.a1, cc.a2, cc.a3, cc.a4);
//c3 cc = c3(1, 2, 3, 4, 5, 6);
//printf("%d, %d, %d, %d, %d, %dn", cc.a1, cc.a2, cc.a3, cc.a4, cc.a5, cc.a6);
}
怎么就不行呢?
|
#include
class c1 {
public:
int a1;
int a2;
public:
c1();
c1(int a1, int a2);
};
class c2:public c1 {//-----------------0
public:
int a3;
int a4;
public:
//c2(int a1, int a2);
c2(int a1, int a2, int a3, int a4);
};
class c3:c2 {
public:
int a5;
int a6;
public:
//c3(int a1, int a2, int a3, int a4);
c3(int a1, int a2, int a3, int a4, int a5, int a6);
};
c1::c1() {}
c1::c1(int a1, int a2) :a1(a1),a2(a2)//---------------------1
{
}
//c2::c2(int a1, int a2) {
// this->a1 = a1;
// this->a2 = a2;
//}
c2::c2(int a1, int a2, int a3, int a4):c1(a1,a2),a3(a3),a4(a4)//----------------2
{
}
void main() {
c2 cc = c2(1, 2, 3, 4);
printf("%d, %d, %d, %dn", cc.a1, cc.a2, cc.a3, cc.a4);
//c3 cc = c3(1, 2, 3, 4, 5, 6);
//printf("%d, %d, %d, %d, %d, %dn", cc.a1, cc.a2, cc.a3, cc.a4, cc.a5, cc.a6);
}
class c1 {
public:
int a1;
int a2;
public:
c1();
c1(int a1, int a2);
};
class c2:public c1 {//-----------------0
public:
int a3;
int a4;
public:
//c2(int a1, int a2);
c2(int a1, int a2, int a3, int a4);
};
class c3:c2 {
public:
int a5;
int a6;
public:
//c3(int a1, int a2, int a3, int a4);
c3(int a1, int a2, int a3, int a4, int a5, int a6);
};
c1::c1() {}
c1::c1(int a1, int a2) :a1(a1),a2(a2)//---------------------1
{
}
//c2::c2(int a1, int a2) {
// this->a1 = a1;
// this->a2 = a2;
//}
c2::c2(int a1, int a2, int a3, int a4):c1(a1,a2),a3(a3),a4(a4)//----------------2
{
}
void main() {
c2 cc = c2(1, 2, 3, 4);
printf("%d, %d, %d, %dn", cc.a1, cc.a2, cc.a3, cc.a4);
//c3 cc = c3(1, 2, 3, 4, 5, 6);
//printf("%d, %d, %d, %d, %d, %dn", cc.a1, cc.a2, cc.a3, cc.a4, cc.a5, cc.a6);
}
|
又运行了一下,发现,只要把你的
继承改为
class c2: public c1
class c3: public c2
就可以了,
不指定默认好像不是poblic
继承改为
class c2: public c1
class c3: public c2
就可以了,
不指定默认好像不是poblic
|
苹果给楼主拍马屁来啦!多给小的点分哦
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。