MFC运行时

来源:互联网 发布:仓储流程优化的方法 编辑:程序博客网 时间:2024/06/15 21:09

1。MFC运行时

GetRuntimeClass(); 虚函数

GetBaseClass(); 成员函数

GetThisClass(); 成员函数

每一个类中,有一个CRuntimeClass的对象,然后把这个类的信息记录到CRuntimeClass类型的成员里面,同时可以找到父类中的此成员,例如,判断当前类是不是某个类型等。构造函数也记录在这个成员里面,这样就可以进行构造。 

同时,也可以通过虚函数机制,得到真正的类型。

2。connect连接时阻塞的,如何才能继续?

通过定时器?好像不对吧。

3。com的聚合和忘了什么了,怎么理解?

 

Aggregation is the object reuse mechanism in which the outer object exposes interfaces from the inner object as if they were implemented on the outer object itself. This is useful when the outer object delegates every call to one of its interfaces to the same interface in the inner object. Aggregation is available as a convenience to avoid extra implementation overhead in the outer object in this case. Aggregation is actually a specialized case of containment/delegation.

Aggregation is almost as simple to implement as containment is, except for the three IUnknown functions: QueryInterface, AddRef, and Release. The catch is that from the client's perspective, any IUnknown function on the outer object must affect the outer object. That is, AddRef and Release affect the outer object and QueryInterface exposes all the interfaces available on the outer object. However, if the outer object simply exposes an inner object's interface as its own, that inner object's IUnknown members called through that interface will behave differently than those IUnknown members on the outer object's interfaces, an absolute violation of the rules and properties governing IUnknown.

The solution is that aggregation requires an explicit implementation of IUnknown on the inner object and delegation of the IUnknown methods of any other interface to the outer object's IUnknown methods.

MSDN的回答。聚集是一个对象重用机制,外面的对象暴露内部对象的接口。就好像是外部对象自己实现了一样。

当每次调用自己的一个接口的时候,都是调用相应的的内部对象的相同接口。聚集可以防止重复地实现。是容器加委托。的特殊情况。

聚集和容器的实现一样简单,除了这三个函数. 要显式实现内部对象的IUNkown和。

完全不会

4。sizeof的规则是什么。

sizeof的规则是,1.是当前成员的整数倍。2。是最大成员的整数倍。 

5。数据库如何进行同步?

数据库本身有同步机制。

6。socket的6大IO模型,你如何理解

 同步,异步,阻塞,非阻塞?

原创粉丝点击