类与对象编程(POJ C++ 第三周)

1、类名::成员名(范围解析运算符,之前必须是类)
A::printtotal
2、对象名.成员名(.之前必须是对象名)
A a
a.printtotal()
3、指针->成员名
A *p = &r;
p->printtotal()
4、引用.成员名
A &ref=r

3w7、描述

下面程序输出的结果是:

0

5

请填空:

 

#include <iostream>
using namespace std;
class A //类A
{
public:
	int val;

	////////在此处填充你的代码
public:
	A(int n = 0)//类内构造函数
	{
		val = n;
	}
	int &GetObj()//引用作为成员函数的返回值
	{
		return val;
	}
	///////////////////////////
};
int main() 
{
	A a;//对象a
	cout << a.val << endl;//a.val初始化的数值
	a.GetObj() = 5;//a.getobj成员函数,函数调用返回值即val进行赋值
	cout << a.val << endl;
	return 0;
}

3w9、描述

下面程序的输出结果是:

5,5

5,5

请填空:

#include <iostream>
using namespace std;

class Base 
{
public:
	int k;
	Base(int n) :k(n) { }//构造函数
};

class Big  //Big是一个封闭类,里面包含Base类的对象b
{
public:
	int v; 
	Base b;//对象b

	// 在此处补充你的代码
	Big(int n) :v(n), b(n) {};//构造函数
//	Big(Big &a):v(a.v),b(a.b.k){};//拷贝构造函数
};

int main()  
{
	Big a1(5);  //构造函数 
	Big a2 = a1;//拷贝构造函数
	cout << a1.v << "," << a1.b.k << endl;
	cout << a2.v << "," << a2.b.k << endl;
	return 0;
}

猜你喜欢

转载自blog.csdn.net/try_again_later/article/details/79902316