using CThread::Start;代表什么意思呀?
class CSocketServer : protected CThread
{
public:
class Socket; //1
friend class Socket; //2
using CThread::Start;//3
...
}
(1) 请问可以不可直接用friend class Socket;声明Socket为友元类,不需要class Socket;这句话.
(2) using CThread::Start;是什么意思呀,using的这种用法怎样解释?
以上代码编译没有问题的.
[解决办法]
class Socket; //1
声明一个类
friend class Socket; //2
只有在2之前声明了类Socket,编译器才能识别Socket
using CThread::Start;//3
声明了函数Start,从命名空间CThread里引入函数Start
[解决办法]
考虑这个例子:
class A
{
public:
void fa(){}
protected:
void fb() {}
};
class B:private A
{
public:
using A::fa;
protected:
using A::fb;
}
通过B的对象可以访问A::fa, 同时B的子类也可以访问A::fb.
[解决办法]
loops(迷茫) ( )
区别还是有的,引入using CThread::Start;后,子类对象可以直接在类域外使用start函数(前提是start不是私有类型)。
例如:
#include <iostream>
using namespace std;
class a
{
public:
void start(){cout < < "this a class " < <endl;}
};
class b: protected a
{
public:
using a::start;
void print() { start();}
};
int main()
{
b x;
x.print();
x.start();
return 0;
}