m0_64077603 2022-01-11 16:19 采纳率: 100%
浏览 36
已结题

关于#c++类的声明#的问题,请各位专家解答!

#include
#include
using namespace std;

class Building;
class add{
public:
add(){
building=new Building;
}
void visit(){
cout<name<<endl;
cout<age<<endl;
}
~add(){
delete building;
cout<<"正在析构"<<endl;
}
private:
Building*building;
};

class Building{
public:
friend class add;
Building()
{
this->name="std";
this->age=12;
}
public:
string name;
private:
int age;
};
int main(){
add p;
p.visit();
return 0;
}

  • 写回答

2条回答 默认 最新

  • 书山客 2022-01-11 16:45
    关注
    
    #include<iostream>
    #include<string>
    using namespace std;
    
    class Building {
    public:
        friend class add;
        Building()
        {
            this->name = "std";
            this->age = 12;
        }
    public:
        string name;
    private:
        int age;
    };
    class add {
    public:
        add() {
            building = new Building;
        }
        void visit() {
            cout << name << endl;
            cout << age << endl;
        }
        ~add() {
            delete building;
            cout << "正在析构" << endl;
        }
    private:
        Building* building;
        string name;
        int age;
    };
    int main() {
        add p;
        p.visit();
        return 0;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 1月19日
  • 已采纳回答 1月11日
  • 创建了问题 1月11日