阿西吧 发表于 2017-7-3 11:03:58

C++上天之路16-17

第十六课
        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();
}
页: [1]
查看完整版本: C++上天之路16-17