2 saohddz saohddz 于 2014.08.14 11:11 提问

c++基类的二级指针或者指针的引用作为参数的问题
class base
{
public:
    base(){}
    virtual ~base(){}
};

class derive : public base
{
public:
    derive(){}
    virtual ~derive(){}
};

void fun1(base*)
{

}

void fun2(base**)
{

}

void fun3(base*&)
{

}

int main()
{
    derive* pDerive;
    fun1(pDerive);
    fun2(&pDerive);   //错误
    fun3(pDerive);     //错误
}

二级指针或者指针的引用不能在函数执行时被强转成基类吗?

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
二级指针和指针引用函数传参(C++)
在函数的使用过程中,我们都明白传值和传引用会使实参的值发生改变。那么能够通过传指针改变指针所指向的地址吗?在解决这个问题之前,也许我们应该先了解指针非常容易混淆的三个属性: ①.指针变量地址(&p) ②.指针变量指向的地址(p,存储数据的地址) ③.指针变量指向的地址的值(*p) 当我们将指针变量与其它变量比较之后就会发现,指针变量同其它变量
二级指针作为参数分析
二级指针可以表示传入参数,传出参数或者Value-result参数,
二维数组和二级指针作为参数传给参数的方式
一.如果要将二维数组传给一个函数,有几种传参方式?    1).直接将二维数组传给函数。    eg:        void test(int arr[3][4]);    2).以数组指针的方式传入。    eg:        void test(int (*arr)[4]);    第一种方式很容易理解。第二方式我们来分析分析。首先将二维数组看作是一个一维数组,有三个元素,arr[0],a
指针引用做函数参数与二级指针做函数参数
#include using namespace std; struct Teacher { char name[64]; int age; }; //在被调用函数 获取资源 int getTeacher(Teacher**p) { Teacher *tmp =NULL; if (p == NULL) { return -1; } tmp = (Teacher*)mallo
在C++中,通过基类的引用(或指针)
在C++中,基类必须指出希望派生类重写哪些函数,定义为virtual的函数是基类期待派生类重新定义的,基类希望派生类继承的函数不能定义为虚函数。     在C++中,通过基类的引用(或指针)调用虚函数时,发生动态绑定。引用(或指针)既可以指向基类对象也可以指向派生类对象,这一事实是动态绑定的关键。用引用(或指针)调用的虚函数在运行时确定,被调用的函数是引用(或指针)所指对象的实际类型所定义的。
指针参数传递实质及二级指针使用
水平有限,如有错误,欢迎指正,谢谢。 先看两个程序: 耐心仔细看,应该能理解。 1: void test(char *p) {        printf("[test1][p]:%p.\n",p);        printf("[test2][p]:%s.\n",p);        p=(char *)malloc(10);        strcpy(p,"ABCDE")
二级指针作为函数参数申请内存
0:声明:这篇文章转自林锐的《高质量的C/C++编程指南》,如果想看电子版文档,请去下载【去下载】1:如果函数的参数是一个指针,不要指望用该指针去申请动态内存。示例7-4-1 中,Test 函数的语句 GetMemory(str, 200)并没有使 str 获得期望的内存,str 依旧是 NULL,为什么?[html] view plaincopyvoid GetMemory(char *p, i
二级指针和指针的引用之间的区别
看资料说: 指针的引用不会产生临时变量, 不会产生拷贝操作.我自己的多余体会: 指针的引用在实际编码时,操作比二级指针简单, 书写简洁.做个实验验证下.
指针和引用作为参数的区别
int change1(char* name){     name=”alter”;     return 1; } int change2(char* &name){     name=”alter”;     return 1; } int main(){     char* string=”original!”;     change1(string);
C++ 引用 解引用 取地址 指针 双指针 指针的引用 二级指针
详细的讨论了指针,解引用,取地址,引用,二级指针。