披风秃头侠- 2021-04-17 18:26 采纳率: 0%
浏览 28

通过成员函数改变私有成员出错?

#include <iostream>
#include<string>
#include<iostream>

using namespace std;

class Person
{
private:
	string mstrName;
	string mstrAdd;

public:
	Person() :mstrName(""), mstrAdd("") {}
	Person(const string &_strName, const string&_strAdd = " ") :mstrName(_strName), mstrAdd(_strAdd) {}
	Person(istream&is) { read(is, *this); }
//---------------------------------------------------
	string getName()const
	{
		return mstrName;
	}

	string getAdd()const
	{
		return mstrAdd;
	}

};
//----------------------------------------------------
void read(istream &is, Person &person)
{
	is >> person.getName() >> person.getAdd();
}

void print(Person &person)
{
	cout << person.getName() << " " << person.getAdd();
}
int main()
{

}

  • 写回答

1条回答 默认 最新

  • bostonAlen 2021-04-17 20:04
    关注

    加上前置声明

    #include<iostream>
    #include<string>
    #include<iostream>
    
    using namespace std;
    
    class Person;
    void read(istream &is, Person &person);
    void print(Person &person);
    
    class Person
    {
    private:
    	string mstrName;
    	string mstrAdd;
    
    public:
    	Person() :mstrName(""), mstrAdd("") {}
    	Person(const string &_strName, const string&_strAdd = " ") :mstrName(_strName), mstrAdd(_strAdd) {}
    	Person(istream&is) { read(is, *this); }
    	//---------------------------------------------------
    	string getName()const
    	{
    		return mstrName;
    	}
    
    	string getAdd()const
    	{
    		return mstrAdd;
    	}
    
    };
    //----------------------------------------------------
    void read(istream &is, Person &person)
    {
    	is >> person.getName() >> person.getAdd();
    }
    
    void print(Person &person)
    {
    	cout << person.getName() << " " << person.getAdd();
    }
    int main()
    {
    	return 0;
    }
    评论

报告相同问题?

悬赏问题

  • ¥15 工创大赛太阳能电动车项目零基础要学什么
  • ¥20 limma多组间分析最终p值只有一个
  • ¥15 nopCommerce开发问题
  • ¥15 torch.multiprocessing.spawn.ProcessExitedException: process 1 terminated with signal SIGKILL
  • ¥15 QuartusⅡ15.0编译项目后,output_files中的.jdi、.sld、.sof不更新怎么解决
  • ¥15 pycharm输出和导师的一样,但是标红
  • ¥15 想问问富文本拿到的html怎么转成docx的
  • ¥15 我看了您的文章,遇到了个问题。
  • ¥15 GitHubssh虚拟机连接不上
  • ¥15 装完kali之后下载Google输入法 重启电脑后出现以下状况 且退不出去 桌面消失 反复重启没用