相关讨论
本帖最后由 yshihyu 于 2012-08-17 01:23 编辑
[code]#include
using namespace std;
class A
{
private:
virtual void test() = 0;
public:
void show();
};
class B :public A
{
void test();
};
void A::show()
{
test();
}
void B::test()
{
cout << "Hello world" << endl;
}
int main()
{
B aa;
aa.show();
return 0;
}[/code]为什么在 A基...
[code]
using namespace std;
template<class T>
class A
{
protected:
enum TT { x, y};
T id;
};
template<class T>
class B: public A
{
using A::id;
using A::TT;
public:
void setid(T i)
{
id=i;
}
void test1(){
cout<<"B::test1() ID: "<c, char* argv[])
{
B
#include
class A{
public:
virtual void disp()
{
cout<<"hello A"<class B:public A{
protected:
void disp()
{
cout<<"hello B"<disp();
delete a;
}
以上代码中输出了:hello B
B类继承A类的disp()函数为public,但覆盖函数却在protected。我就奇怪为什么还可以通过a指针在外部直接调用disp()?以及这样做有什么明显的好处吗?
大家给说说,...
代码如下:
class ATL_NO_VTABLE cIEHlprObj :
public ccomObjectRootEx<ccomSingleThreadModel>,
public ccomcoclass<cIEHlprObj, &cLSID_IEHlprObj>,
public IObjectWithSiteImpl<cIEHlprObj>,
public IDispatchImpl
{
public:
DEcLARE_REGISTRY_RESOURcEID(IDR_IEHLPROBJ)
请问继承的类如IDispatchImpl中 <>括起来...
by
aobai
-
C/C++
-
2008-05-20 22:23:22 阅读(1648) 回复(3)
哪位高手讲讲继承模板类的用法吧,小弟在此感激不禁!!
程序是这样的,可以肯定是模板的问题,因为我去掉模板之后能够连接成功
//matrix.h
#ifndef _MATRIX_H
#define _MATRIX_H
#include
#include
#includector>
#includeception>
using namespace std;
template
class matrix
{
public:
virtual ~matrix() {}
void set_elem(int, int, const Elemtype &);
Elemtype get_elem(int...
请看:
class IUn
{
public:
virtual void QueryInterface(int iid,void **pObj)=0;
virtual void AddRef()=0;
virtual void Release()=0;
};
class IA:public IUn
{
public:
virtual void dspa()=0;
};
class IB:public IUn
{
public:
virtual void dspb()=0;
};
class c:public IA,public IB
{
private:
int ref;//计数
public:
c();
public:
virtual void QueryInterface(int iid,void **pObj);
virtual void AddRef(...
本帖最后由 daxiguagg 于 2014-08-14 21:23 编辑
class atest
{
public:
atest();
~atest();
int a;
int b;
protected:
private:
};
class btest:public atest
{
public:
btest();
~btest();
int a;
int b;
protected:
private:
};
atest::atest()
{
this->a=1;
}
atest::~atest()
{
this->a=0;
}
btest::btest()
{
this->a=1;
}
btest::~btest()
{
this->a=0;
}
int _tmain(int argc, _TcHAR* argv[])
{
a...
已知
template
A {
public:
template
B {};
};
有谁知道如何继承A::B?
#include
class A{
public:
virtual void fa()
{
}
};
class B{
public:
virtual void fb()
{
}
};
class c : public A ,public B{
public:
void fa()
{
cout<<"c:fa"<cout<<"c:fb"<c;
Ins->fa();
B* Ins2 = (B*)Ins;
Ins2->fb();
}
为什么结果是
c:fa
c:fa
而不是
c:fa
c:fb
这个问题要怎么解决呢,求大侠
#include
#include
class Base_Add
{
public:
Base_Add(void);
~Base_Add(void);
virtual int Prin(void);
};
Base_Add::Base_Add(void)
{
printf("Base_Add");
}
Base_Add::~Base_Add(void)
{
printf("~Base_Add");
}
int Base_Add::Prin(void)
{
printf("1111111111111111111");
 ...