相关疑难解决方法(0)

709
推荐指数
11
解决办法
17万
查看次数

切片在C++中意味着什么?

它在C++ FAQ网站中提到 - "当通过值作为基类对象传递时,较大的派生类对象被切片",切片是什么意思?任何样品要展示?

http://www.parashift.com/c++-faq-lite/value-vs-ref-semantics.html#faq-31.8

我使用VSTS 2008 +本机C++作为我的开发环境.

c++ oop inheritance visual-studio-2008

9
推荐指数
2
解决办法
4534
查看次数

关于虚拟方法的问题

如果两个方法都声明为虚拟,那么被调用的Method1()的两个实例都不应该是派生类的Method1()吗?

我看到BASE然后每次调用DERIVED.我正在为面试做一些评论,我想确保我有这个直接.的xD

class BaseClass
{
public:
    virtual void Method1()  { cout << "Method 1 BASE" << endl; }
};

class DerClass: public BaseClass
{
public:
    virtual void Method1() { cout << "Method 1 DERVIED" << endl; }
};


DerClass myClass;
    ((BaseClass)myClass).Method1();
    myClass.Method1();
Run Code Online (Sandbox Code Playgroud)

方法1 BASE
方法1 DERVIED

c++ methods virtual-functions

4
推荐指数
4
解决办法
190
查看次数