65,211
社区成员
发帖
与我相关
我的任务
分享
class Base {
public:
int get_data() const
{
return do_get_data();
}
virtual ~Base() {}
private:
virtual int do_get_data() const = 0;
};
class Derived : public Base {
public:
explicit Derived(int data) : data_(data) {}
……
private:
int do_get_data() const { return data_; }
private:
int data_;
};
// 使用:
int do_something(const Base& base)
{
return base.get_data();
}
#include <iostream>
using namespace std;
class Base
{
private:
int i;
public:
void Print()
{
cout<<i<<endl;
}
};
class Drive:public Base
{
public:
void setBaseI(int i)
{
*(int*)(this)=i;
}
int getBaseI()
{
return *(int*)(this);
}
};
int main()
{
Drive d;
d.setBaseI(10);
d.Print();
cout<<d.getBaseI()<<endl;
system("pause");
}