社区
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不能用???
可否请用例子明示?
谢谢
...全文
33
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仅对其本身可见
另外可以申明友元,打破访问控制
在以上说明范围外的地方使用一个类的成员就是错误的
原因就是没有访问权限
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
8.
类
的
继承
目录1.
继承
的定义2.
继承
的作用3.
继承
的语法4.
类
继承
成员属性的访问权限5. 利用参数列表,初始化父
类
的私有成员6.
继承
中的构造函数与析构函数7. 总结共
继承
的权限
问题
8.
类
中的隐藏
问题
9.
类
中的多
继承
10.
类
中多级
继承
11. 菱形
继承
(引入:虚
继承
) 1.
继承
的定义 从父
类
中获取一些功能接口或 数据成员,如果该成员是共有或保护成员则子
类
可以直接访问,提高代码的复用性。 2.
继承
的作用 提高代码的复用性 有利于软件版本的升级 3.
继承
的语法 class
类
名:
继承
方式 基
类
名(
C++ 语言
64,282
社区成员
250,470
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章