动态内存 this指针

#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 */
原文地址:https://www.cnblogs.com/i80386/p/4356900.html