- 论坛徽章:
- 0
|
#include <iostream>;
class mammal
{public:
mammal():itsage(1){}
virtual ~mammal(){}
virtual void speak(){std::cout<<"mammal speak\n";}
private:int itsage;
};
class dog:public mammal
{public:
void speak(){std::cout<<"woof\n";}
};
void valuefun(mammal);
void ptrfun(mammal*);
void reffun(mammal& ;
int main()
{mammal *ptr=new dog;
valuefun(*ptr);
ptrfun(ptr);
reffun(*ptr);
return 0;
}
void valuefun(mammal value)
{value.speak();}
void ptrfun(mammal *pmammal)
{pmammal.speak();}
void reffun(mammal & rmammal)
{rmammal.speak();}
红色标志那句是间接引用指针,这是按值传递的吗? |
|