[C++プログラミング]第3週

1974 ワード

プログラミング#1
次のプログラムの結果は次のとおりです.
0
5
空白を入力してください:
#include 
using namespace std;
class A {
public:
int val;
//          
};
main() {
A a;
cout << a.val << endl;
a.GetObj() = 5;
cout << a.val << endl;
}

入力なし
しゅつりょく
0
5
#include 
using namespace std;
class A {
public:
int val;
A(){val=0;}
int &GetObj()
{return val;}
};
main() 
{
A a;
cout << a.val << endl;
a.GetObj() = 5;
cout << a.val << endl;
}

プログラミング#2
次のプログラムの出力は:10
Sampleクラスのメンバー関数を補完してください.メンバー変数を増やすことはできません.
#include 
using namespace std;
class Sample{
public:
int v;
Sample(int n):v(n) { }
//          
};
int main() {
Sample a(5);
Sample b = a;
cout << b.v;
return 0;
}

入力:なし
出力:10
#include 
using namespace std;
class Sample{
public:
int v;
Sample(int n):v(n) { }
Sample (const Sample &c1)
{v=c1.v*2;}
};

int main() {
Sample a(5);
Sample b=a;
cout << b.v;
return 0;
}

プログラミング#3
次のプログラムの出力結果は次のとおりです.
5,5
5,5
#include 
using namespace std;
class Base {
public:
int k;
Base(int n):k(n) { }
};
class Big {
public:
int v; Base b;
//          
};
int main() {
Big a1(5); Big a2 = a1;
cout << a1.v << "," << a1.b.k << endl;
cout << a2.v << "," << a2.b.k << endl;
return 0;
}

入力:なし
しゅつりょく
5,5
5,5
#include 
using namespace std;
class Base {
public:
int k;
Base(int n):k(n) { }
};
class Big {
public:
int v; Base b;
//          
};
int main() {
Big a1(5); Big a2 = a1;
cout << a1.v << "," << a1.b.k << endl;
cout << a2.v << "," << a2.b.k << endl;
return 0;
}