- 论坛徽章:
- 0
|
回复 6# OwnWaterloo
我已经改了,但还报错
1>e:\test\ctest\ctest\ctest\ctest.cpp(15) : error C2243: 'type cast' : conversion from 'myclass::NewClass *' to 'myclass::MyClass *' exists, but is inaccessible
- namespace myclass
- {
- class MyClass
- {
- public:
- MyClass();
- static int myget();
- virtual int func1()=0;
- virtual int func2()=0;
- static void myset(char **);
- ~MyClass();
- };
- class NewClass: MyClass
- {
- public:
- NewClass();
- virtual int func1();
- virtual int func2();
- ~NewClass();
- };
- }
复制代码
- #include<iostream>
- #include"myclass.h"
- int myclass::MyClass::myget()
- {
- return 111;
- }
- void myclass::MyClass::myset(char ** p)
- {
- * p=(char*)malloc(10);
- char *t="good";
- strcpy(*p,t);
- return ;
- }
- int myclass::NewClass::func1()
- {
- return 1;
- }
- int myclass::NewClass::func2()
- {
- return 2;
- }
复制代码
- #include<iostream>
- #include"myclass.h"
- using namespace std;
- using namespace myclass;
- int main()
- {
- int x = MyClass::myget();
- cout<<"x="<<x<<endl;
- char * p;
- MyClass::myset(&p);
- cout<<"p="<<p<<endl;
- free(p);
- NewClass *oneclass=new NewClass();
- MyClass * twoclass=new NewClass();
- return 0;
- }
复制代码 |
|