C++ 保持更改的类变量
我想知道是否有任何方法可以将更改的变量保存在类中。例如:C++ 保持更改的类变量,c++,class,C++,Class,我想知道是否有任何方法可以将更改的变量保存在类中。例如: class Numbers{ int x; Numbers(); public: void set(int y); void print(); }; void Numbers::set(int y){ x=y; } void Numbers::print(){ cout<<x<<endl; } int main(){ Numbers x; x.set(3); x.pr
class Numbers{
int x;
Numbers();
public:
void set(int y);
void print();
};
void Numbers::set(int y){
x=y;
}
void Numbers::print(){
cout<<x<<endl;
}
int main(){
Numbers x;
x.set(3);
x.print();
Numbers x2;
x2.print(); // here I want to display "3", not 0 as default
return 0;
}
类号{
int x;
数字();
公众:
空集(int-y);
作废打印();
};
无效数字::集合(整数y){
x=y;
}
无效数字::打印(){
您必须定义变量static
class Numbers{
static int x;
public:
static void set( int i ){ x = i; }
void print(){ std::cout << x << std::endl; } // maybe this should be static
};
int Numbers::x = 0;
int main()
{
Numbers x1, x2;
x1.print(); // prints 0
x1.set( 1 );
// above is same as
Numbers::set( 1 );
x1.print(); // prints 1
x2.print(); // prints 1
}
类号{
静态int x;
公众:
静态空集(inti){x=i;}
void print(){std::cout您可以这样声明
static int myVariable = 0;
下面是一些静态变量的信息
在函数中使用static是最简单的,它只是意味着
一旦变量被初始化,它将保留在内存中
直到节目结束。你可以把它想象成
变量保持不变,直到程序运行
完全结束。例如,您可以使用静态变量来记录
仅通过包含
函数内部的行static int count=0;和count++;。因为
count是一个静态变量,行“static int count=0;”将仅
执行一次。每当调用函数时,count将具有
指定给它的最后一个值
您可以继续阅读以下内容:
首先,您的代码将不会被编译,因为您将类的默认构造函数声明为private,并且没有定义它
对于您的问题,您可以使用静态数据成员
#include <iostream>
class Numbers
{
private:
static int x;
public:
Numbers() {}
void set( int y ) { x = y; }
void print() const { std::cout << x << std::endl; }
};
int Numbers::x;
int main()
{
Numbers x;
x.set( 3 );
x.print();
Numbers x2;
x2.print();
}
#包括
班级人数
{
私人:
静态int x;
公众:
数字(){}
空集(inty){x=y;}
void print()const{std::cout查看static
变量,它们在类的所有实例中共享。如何在int main中定义静态变量?我知道我可以这样写:int Numbers::x=10;但在int main中如何做到这一点?