如何在类定义之外定义嵌套类的方法



代码要求定义编写注释的嵌套类之外的所有成员函数,我无法理解…

这是代码

#include<iostream>
#include<string>
using namespace std;
class Person
{
private:
string name;
int Age;
char Gender;
string Job;
public:
class Address
{
private:
string country_Name;
string Street_Name;
int Unit_No;
public:
Address();
void Set_Data(Person::Address &Obj);
static void Display_Address(Person::Address Obj1);
};
Person();
string Get_Name();
static int Get_Age(Person p);
char Get_Gender();
static string Get_Job(Person p);
Person& Set_Data_Person(Person::Address &Obj);
static void Display_Person(Person p, Person::Address addr);
};
// WRITE HERE -- MEMBER FUNCTIONS DEFINITIONS
int main()
{
Person P1;
Person::Address add;
P1= P1.Set_Data_Person(add);
cout << "-------------------------- Display Info----------" << endl;
P1.Display_Person(P1, add );
return 0;
}

我试着为address和person类定义setter,但我不知道从哪里开始

可以两次调用解析操作符来访问内部类方法:

#include <iostream>
class A {
public:
class B {
public:
void hello();
};
void hello();
};
void A::hello() { std::cout << "Hello from A!n"; }
void A::B::hello() { std::cout << "Hello from B!n"; }
int main() {
A a;
A::B b;
a.hello(); // out: Hello from A!
b.hello(); // out: Hello from B!
return 0;
}

最新更新