【发布时间】:2021-10-11 20:19:46
【问题描述】:
我想更改私有成员中的数据,但 delete_Data() 函数在类之外,因此如何获取成员而不在类中声明并使用 delete_Data() 函数擦除它们
唯一的方法它对我有用,它可以在公共部分的类中声明 delete_data() 函数,但是
我们的老师说你应该只使用这种方法
我需要帮助,谢谢
例如
输入您的姓名:约翰
输入您的 ID:1234
姓名:约翰
ID:1234
姓名:
ID:0
#include <iostream>
#include <string.h>
using namespace std;
class data{
private:
string name;
int id;
public:
void add_Data()
{
cout<<"Enter you Name :";
cin>>name;
cout<<"Enter your id :";
cin>>id;
}
void display_Data(){
cout<<"Name :"<<name<<endl;
cout<<"ID :"<<id<<endl;
}
};
void delete_Data(){
name="";
id=0;
}
int main(){
data one;
one.add_Data();
one.display_Data();
delete_Data()
one.display_Data;
return 0;
}
【问题讨论】:
-
您可以将
delete_Data声明为友元函数,但我不明白为什么您不会在类中删除数据。name和id在课堂之外也没有意义。您应该拥有delete_Data(data&)或delete_Data(data*)。 -
你为什么不问问你的老师?这不是他们的工作吗?在互联网上让随机的人猜测你的老师想要什么似乎是个坏主意。
-
这是一个很常见的面试问题:不仅在 C++ 中,在 C# 中也是如此。 geeksforgeeks.org/…中有一些答案
-
我试过了,但我没有得到解决方案,这就是为什么我在 Stackoverflow 中询问唯一对我有用的方法是在公共类中声明删除函数
-
@cup 在示例中使用
#include <bits/stdc++.h>的网站不应被信任提供好的建议。
标签: c++