c++中,对于类,如果不用全局变量,定义一个对象。不能使用全局变量,问题如下 20
c++中,对于类,如果不用全局变量,在一个函数中定义了一个对象后,如何在另一个函数中使用该对象的数据成员。例如:classA{charname[30];}voidfun1...
c++中,对于类,如果不用全局变量,在一个函数中定义了一个对象后,如何在另一个函数中使用该对象的数据成员。
例如:class A
{
char name[30];
}
void fun1()
{
A a;
a.name="xiaoming";
}
void fun2()
{
//需要实现的功能是,char new[30]=a.name,如何实现
………………
} 展开
例如:class A
{
char name[30];
}
void fun1()
{
A a;
a.name="xiaoming";
}
void fun2()
{
//需要实现的功能是,char new[30]=a.name,如何实现
………………
} 展开
3个回答
展开全部
#include <string>
#include <stdio.h>
#include <iostream>
using namespace std;
const int NAME_LEN=32;
class A
{
public:
static char name[NAME_LEN];
};
char A::name[] = "\0";
void fun1()
{
A a;
strncpy_s( a.name, "xiaoming",NAME_LEN);
std::cout<<a.name<<endl;
}
void fun2()
{
char name[NAME_LEN]={0};
strncpy_s(name,A::name,NAME_LEN);
std::cout<<name<<endl;
}
int main(int argc, char* argv[])
{
fun1();
fun2();
return 0;
}
如果不是作为参数也不希望通过全局变量,那你可以考虑用静态变量来尝试,以上代码仅供参考。
2015-01-19
展开全部
class A
{public :
std::string name;//
};
void fun1()
{
A a;
a.name = "xiaoming";//类外访问只能是静态类的变量,或者数据成员为public
}
void fun2(A &a)
{
//需要实现的功能是,char new[30]=a.name,如何实现
std::string s=a.name;
}
void fun2(A a)
{
//需要实现的功能是,char new[30]=a.name,如何实现
std::string s = a.name;
}
void fun2(A *a)
{
//需要实现的功能是,char new[30]=a.name,如何实现
std::string s = a->name;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2015-01-19
展开全部
作为参数传递?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询