马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
第十六课
this指针(当出现重名时候,this->fishc = fishc ,前一个是指的是类的属性,后一个指的是函数传入的参数)
Class Human
{
char fishc;
Human(char fishc)
{
this->fishc = fishc; (前一个为类的属性,后一个为传入的参数)
}
}
基类和子类
基类: class Animal
{
}
子类 class Pig : public Animal
{
}
第十七课
继承中的析构器和构造器
如果出现Baseclass(int num),子类出现Subclass(int num)
定义为Subclass::Subclass(int num) : Baseclass(num);调用基类的构造器
顺序是先Baseclass->Subclass->~Subclass->~Baseclass;
#include<iostream>
#include<string>
class Baseclass
{
public:
/* Baseclass(std::string name);*/
Baseclass();
~Baseclass();
void doSomething();
};
class Subclass : public Baseclass
{
public:
/* Subclass(std::string name);*/
Subclass();
~Subclass();
};
/*Baseclass::Baseclass(std::string name)
{
std::cout << "我在基类构造器里被" << name << "亲了一口!\n";
}*/
Baseclass::Baseclass()
{
std::cout << "父类无参构造器\n";
}
Baseclass::~Baseclass()
{
//std::cout << "我在基类析构器\n";
}
void Baseclass::doSomething()
{
std::cout << "我被" << "亲了一口\n";
}
/*Subclass::Subclass(std::string name) : Baseclass(name)
{
}*/
Subclass::Subclass()
{
std::cout << "无参子类构造器\n";
}
Subclass::~Subclass()
{
std::cout << "我在子类的析构器里面\n";
}
void main()
{
Subclass sub;
sub.doSomething();
}
|