c++prime plus 派生类与基类之间的特殊关系

yu3wu4 2013-02-24 02:34:34
base1 &ca=case2;//base1为base2二的基类。
这样定义书上说是可以的"c++要求引用和指证类型与赋予的类型匹配,但对继承来说是例外",下面是我为测试的代码~


#ifndef AS
#define AS
class base1
{
int i;
public:
base1()
{i=10;}
~base1(){};
int geti();
};
class base2:base1
{
int ii;
public:
base2():base1(){ii=10;}
~base2(){};
int getii();
};
class base3:base2
{
public:
int iii;
base3():base2(){iii=10;}
~base3(){};
int getiii();
};
#endif



#include<iostream>
#include"file1.h"
int base1::geti()
{
return i;
}
int base2::getii()
{
return ii;
}
int base3::getiii()
{
return iii;
}






#include<iostream>
#include"file1.h"
using std::cout;
using std::endl;
int main()
{
base2 case2();
base1 &ca=case2;
return 0;
}

可是出现了"error c2243:'type cast':conversion from 'class base2 *'to 'class base1 &'exist ,but is inaccessible 错误!用的是用的是vc++6.0,知道不好用,但先凑合着吧!过几天再换~
...全文
187 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
yu3wu4 2013-02-24
  • 打赏
  • 举报
回复
本贴已结,手机不好用~几天后给分了!谢谢~
yu3wu4 2013-02-24
  • 打赏
  • 举报
回复
本贴已结,手机不好用~几天后给分了!谢谢~
yu3wu4 2013-02-24
  • 打赏
  • 举报
回复
谢谢提醒~谢谢!
derekrose 2013-02-24
  • 打赏
  • 举报
回复
base2 case2();这是函数吧
KevinYuen 2013-02-24
  • 打赏
  • 举报
回复
用的私有继承?

64,644

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧