没能进入总而言之:派生类成员函数在C++
class A {
public:
A();
~A();
void SetID(char* ID);
char* GetID();
protected:
char ID[10];
};
class B: public A {
public:
B();
~B();
protected:
...
private:
...
};
然后,在主:
...
B *temp = new B;
temp->SetID("0x12345678");
...
然后编译器,所述“预期构造,析构函数或类型转换前 - >令牌“其中”temp-> SetID(“0x12345678”)“谎言
任何人给我一些提示?
整体规划设计为洛基建议:
#include <iostream>
using namespace std;
class A {
public:
A();
~A();
void SetID(char* id);
char* GetID();
protected:
char ID[10];
};
void A::SetID(char* id){
strcpy(ID,id);
}
char* A::GetID(){
return ID;
}
class B: public A {
public:
B();
~B();
protected:
int num;
};
int main(){
B *temp = new B;
B->SetID("0x12345678");
cout<<B->GetID()<<endl;
return 0;
}
试试'new B()'。在'B'中你也拼写'protected'。 – chris
@chris:由于'B'具有用户声明的默认构造函数'new B'和'new B()'完全一样。 –
你试过了:void SetID(** const ** char * ID)? – akhisp