2011-01-12 96 views
6

如果我從一個基類繼承,並希望將繼承類的構造函數中的某些東西傳遞給基類的構造函數,那麼我該怎麼做?在C++中調用基礎構造函數CLI

例如,

如果我從Exception類我想要做這樣的事情繼承:

在C#語言

我們這樣做是這樣的:

public class CppDynamicSyntaxLanguage : DynamicOutliningSyntaxLanguage 
{ 
    public CppDynamicSyntaxLanguage(string key, bool secure) : 
    **base(key, secure)** {} 
} 

但如何在C++ .net中執行它? 我試着做這樣的:

public ref class CppDynamicSyntaxLanguage : public DynamicOutliningSyntaxLanguage 
{ 
public: 
CppDynamicSyntaxLanguage (String ^key, bool secure) : 
    **CppDynamicSyntaxLanguage(key,secure)** {}; 
} 

,但我得到 錯誤 「的MyEditor :: CppDynamicSyntaxLanguage」:不法分子初始化:「CppDynamicSyntaxLanguage」不是基或成員

「謝謝你「

回答

7

基類名爲DynamicOutliningSyntaxLanguage,而不是CppDynamicSyntaxLanguage

CppDynamicSyntaxLanguage (String ^key, bool secure) 
    : DynamicOutliningSyntaxLanguage(key,secure) { }; 
+0

謝謝你「James McNellis」 – user572312 2011-01-12 15:39:48

1

你嘗試:

class CppDynamicSyntaxLanguage: public DynamicOutliningSyntaxLanguage { 
public: 
    CppDynamicSyntaxLanguage(string key, bool secure): 
     DynamicOutliningSyntaxLanguage(key, secure) { 
    } 
}; 

這將在C++的工作,不知道.NET。假設DynamicOutliningSyntaxLanguage有一個構造函數,它使用sting和bool。

+1

謝謝James McNellis – user572312 2011-01-12 15:39:30

相關問題