2023年5月16日

1.编写一个计数器Counter类,对其重载函数运算符“+”。

typedef unsigned short USHORT;
#include<iostream>
using namespace std;
class Counter
{
	public:
		Counter();
		Counter(USHORT initialValue);
		~Counter(){
		}
		USHORT getValue()const{return value;}
		void setValue(USHORT x){value=x;
		}
		Counter operator+(const Counter &);
		private:
			USHORT value;
};

Counter::Counter(USHORT initialValue):
	value(initialValue){
	}
	Counter::Counter():
		value(0){
		}
		Counter Counter::operator+(const Counter&rhs){
			return Counter(value+rhs.getValue());
		} 
		int main(){
			Counter varOne(2),varTwo(4),varThere;
			cout<<"varOne:"<<varOne.getValue()<<endl;
			cout<<"varTwo:"<<varTwo.getValue()<<endl;
			cout<<"varThere:"<<varThere.getValue()<<endl;
			return 0;
		}

2.编写一个哺乳动物类Mammal,再由此派生出狗类Dog,二者都声明speak()成员函数,该函数在基类中被声明为虚函数,声明一个Dog类的对象,通过此对象调用speak函数,观察运行结果。

#include<iostream>
using namespace std;
class Mammal{
	public:
		Mammal(){
			cout<<"Mammal constructor...\n";
		}
		virtual~Mammal(){
			cout<<"Mammal destructor...\n";
		} 
		virtual void speak()const{
		cout<<"Mammal speak!\n";
		}
};

class Dog:public Mammal{
	public:
		Dog(){
	cout<<"Dog Constructor...\n";}
	~Dog(){
		cout<<"Dog destructor...\n";
	}
	void speak() const{
	cout<<"Woof!\n";}
	
};
int main(){

	Mammal*pDog=new Dog;
	pDog->speak();
	delete pDog;
	return 0;
}

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值