說我有以下幾點: class A {
private:
int a;
virtual int f() {return a;}
public:
A(int t) {a = t;}
};
現在,我怎麼訪問int A::f()如果我給一個指向一個對象?我知道如何得到一個! void main() {
A* x = new A(5);
cout
我在讀Bjarne的論文:「Multiple Inheritance for C++」。 在第3節第370頁,Bjarne說:「編譯器將一個成員函數的調用變成一個帶有」extra「參數的」普通「函數調用;」extra「參數是指向成員函數被稱爲「。 考慮一個簡單的類A: class A {
int a;
void f(int i);
};
成員函數的調用A :: F: A*
我一直在閱讀vtable和指針,但仍然有一些問題。例如: #include <iostream>
using namespace std;
class A
{
public:
virtual void PrintA()=0; //1 vtable and 1 vpointer
};
class B
{
public:
virtual void PrintB
考慮下面的類定義: #include <string>
class CParty
{
public:
CParty();
virtual ~CParty();
int m_nId;
};
class CPartyEx : public CParty
{
public:
CPartyEx();
~CPartyEx();
s