ダイナミックメモリthisポインタ

4875 ワード

#include <iostream>

#include <string>



class Company

{

public:

    Company(std::string theName);

    virtual void printInfo();



protected:

    std::string name;

};



class TechCompany : public Company

{

public:

    TechCompany(std::string theName, std::string product);

    virtual void printInfo();

private:

    std::string product;

};



Company::Company(std::string theName)

{

    name = theName;

};



void Company::printInfo()

{

    std::cout << "this company's name is " << name << std::endl;

};


//TechCompany::TechCompany(std::string theName, std::string theproduct) : Company(theName)
//{
//  product = theproduct;
//{
TechCompany::TechCompany(std::
string theName, std::string product) : Company(theName) { this->product = product; // this : , -> 。 , this。 }; void TechCompany::printInfo() { std::cout << "this company's name is " << name << " his product is " << product << std::endl; } int main() { Company *company = new Company("Apple"); company->printInfo(); delete company; company = NULL; company = new TechCompany("Apple", "Iphone"); company->printInfo(); delete company; company = NULL; } /* vim: set ts=4 sw=4 sts=4 tw=100 */