社区
C++ 语言
帖子详情
类继承问题
Cform
2003-09-29 10:45:28
Class X
{protected:
int a;
}
Class Y
{public:
void set(X x,int c)
{x.a=c;}
}
看到书的问题答案还是有些不明白说是x.a不能用???
可否请用例子明示?
谢谢
...全文
47
9
打赏
收藏
类继承问题
Class X {protected: int a; } Class Y {public: void set(X x,int c) {x.a=c;} } 看到书的问题答案还是有些不明白说是x.a不能用??? 可否请用例子明示? 谢谢
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
aflyinghorse
2003-09-29
打赏
举报
回复
这样是可以的
class Y: public X
{public:
void set (int c)
{a=c;}
}
;
ssbull
2003-09-29
打赏
举报
回复
楼上几位说得对,你的X和Y之间没有继承关系。
如果class Y:public X {
public:
void set(X x,int c)
{x.a=c;}
};
就算这样,x.a=c也不对,因为自类不能直接用另一个几类对象的private成员,你应该在class X中定一个函数seta(),在class Y中,int set(X x,int c)改成:{x.seta()=a}
Cform
2003-09-29
打赏
举报
回复
代码写错了请见谅,
Class X{protected: int a;};
Class Y: public X
{public:
void set (X x, int c)
{x.a=c;}
}
;
ninesong
2003-09-29
打赏
举报
回复
因为Y没有从X上继承所以X,Y不存在父子关系。
你的
Y y
y.set(X … ,int …)可以在X中使用,因为它是public:
而
X x
x.a=c
不可以因为X中的a是protected。
lth_81
2003-09-29
打赏
举报
回复
。。。。。。。。。
protect只有在本身和继承的子类中才会暴露出来。因此,你传入X的对象x,并且用x.a是完全错误的。
^_^
csdn5211
2003-09-29
打赏
举报
回复
请楼主把代码写全
Jinhao
2003-09-29
打赏
举报
回复
首先,你的Y比不是继承于X,如果要继承于X 要写成这样
class Y:protected X
{public:
void set(X x,int c)
{x.a=c;}
}
sevecol
2003-09-29
打赏
举报
回复
你的X.a是protected.也就是说只有在X的派生类中才能是看的见的
而你的Y和X没有关系,所以在这里是不能访问的
andyforever
2003-09-29
打赏
举报
回复
是一个访问控制的问题
一共有三种
public对所有对象可见
protected仅对其派生类可见
private仅对其本身可见
另外可以申明友元,打破访问控制
在以上说明范围外的地方使用一个类的成员就是错误的
原因就是没有访问权限
python类的
继承
目录 一、概述 二、类的
继承
2.1
继承
的定义 2.2 构造函数的
继承
2.3 子类对父类方法的重写 三、类
继承
的事例 回到顶部 一、概述 面向对象编程 (OOP) 语言的一个主要功能就是“
继承
”。
继承
是指这样一种能力:它可以使用现有类的所有功能,并在无需重新编写原来的类的情况下对这些功能进行扩展。 通过
继承
创建的新类称为“子类”或“派生类”,被
继承
的类称为“基类”、“父类”或“超类”,
继承
的过程,就是从一般到特殊的过程。在某些 OOP 语言中,一个子.....
Enum类
继承
问题
1、枚举类介绍 如果一个类的实例是有限且确定的,那么可以使用枚举类。比如:季节类,只有春夏秋冬四个实例。 枚举类使用enum进行创建,其实例必须从”第一行“开始显示写出。 enum Season{ SPRING,SUMMER,FALL,WINTER;//默认public static final,这都是Season类的对象。} 特点: 1、枚举类的对象默认都是public...
内部类的
继承
问题
成员内部类可以
继承
其他的类,也可以被其它类
继承
,本文主要说明其它类
继承
成员内部类的
问题
。 本文要点如下: 1).成员内部类的子类可以是内部类,也可以不是内部类; 2).当成员内部类的子类不是内部类或子类虽是内部类但与其父类不在同一个外部类时,子类的构造方法第一句要显式添加如下的语句: 外部类对象引用.super(参数); 这里的外部类指父类所在的外部类; 3).编译器默认给成员内部类的构造方法传入一个参数,该参数是内部类所依附...
C++中 public和private派生类
继承
问题
和访问权限
问题
当一个子类从父类
继承
时,父类的所有成员成为子类的成员,此时对父类成员的访问状态由
继承
时使用的
继承
限定符决定。 1.如果子类从父类
继承
时使用的
继承
限定符是public,那么 (1)父类的public成员成为子类的public成员,允许类以外的代码访问这些成员; (2)父类的private成员仍旧是父类的private成员,子类成员不可以访问这些成员; (3)父类的protected成员成为子
java单例类
继承
问题
--使用登记式单例的发现
由于常见的单例模式,饿汉式单例和懒汉式单例,构造方法都私有了,因此不能被
继承
.最近在开发中遇到
问题
了,恰好需要
继承
单例类.找资料才找到了这个解决办法---登记式单例.登记式单例类是为了克服饿汉式单例类及懒汉式单例类均不可
继承
的缺点而设计的。当单例类需要被
继承
时适用.代码清单3:登记式单例类 import java.util.HashMap; public class
C++ 语言
64,674
社区成员
250,490
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章