剛剛在寫python遇到乙個奇妙的問題,然後查了半天才搞懂。
在寫多重繼承的時候,如果兩個父類a,b都有成員需要繼承,用super會出錯,只能用兩個__init__()方法
例如:class a():
def __init__(self,a):
self.a = a
def cout(self):
print(self.a)
class b():
def __init__(self,b)
self.b = b
def cout(self):
print(self.b)
class c(a,b):
def __init__(self,a,b,c)
a.__init__(self,a)
b.__init__(self,b)
self.c = c
def cout(self):
print(self.c)
如果用class c(a,b):
def __init__(self,a,b,c)
super(a,b,self).__init__(a,b)
將會出錯。
繼承父類私有成員是否可以修改
includeusing namespace std class base public void print a 1 cout 用public方法繼承父類的public成員函式和private私有成員變數,子類自己的成員函式print不能訪問繼承父類的私有變數,但是繼承的print函式可以訪問繼承...
c 父類的私有成員能否繼承
1.子類可以間接訪問父類私有成員 父類的私有成員函式和私有成員變數一樣,只有該類內部的其他成員函式可以呼叫,對外是封蔽的。子類繼承了父類的共有函式,且父類的公有函式呼叫了其內部的私有函式,此時子類呼叫父類的公有函式便能訪問父類的私有成員函式了。include using namespace std ...
JAVA中的父類私有成員變數的繼承問題
如果父類中屬性為私有 private 那麼能否被子類繼承呢?答案是不可以。我們看如下簡單 class father class sonextends father public class privatefieldtest 得到的結果是 my name is null my name is null...