|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
我想显式调用一下子类的构造函数和析构函数:问题在main函数的Pig()和~Pig()上
#include<iostream>
#include<string>
class Animal{
public:
int Age;
bool Sex;
std::string Name;
Animal();
~Animal();
void eat();
void play();
};
class Pig:public Animal{
public:
Pig();
~Pig();
void climb();
};
class Human:public Animal{
public:
Human();
~Human();
void travl();
};
Animal::Animal()
{
Name = "小灰灰";
Age = 1;
Sex = true;
std::cout<<"我对基类进行了构造"<<std::endl;
std::cout<<Name<<" "<<Age<<" "<<Sex<<std::endl;
}
Animal::~Animal()
{
std::cout<<"我对基类进行了析构"<<std::endl;
}
Pig::Pig()
{
std::cout<<"我想知道PIG子类具体的构造过程"<<std::endl;
}
Pig::~Pig()
{
std::cout<<"这是猪这个子类的解析过程"<<std::endl;
}
Human::Human()
{
std::cout<<"人类这个子类的构造过程"<<std::endl;
}
Human::~Human()
{
std::cout<<"这是人这个子类的解析过程"<<std::endl;
}
int main()
{
Pig pig;
Pig();//为什么pig.Pig()报错,而Pig()可以呢?
pig.~Pig(); //为什么这个时候又得用pig.~Pig(),如果使用~Pig()过不了,这个和构造函数用法完全相反啊?
std::cout<<"这里是分割线!!!!!!!!!!!!!!!!!!!!"<<std::endl;
return 0;
}
|
|