基本操作 原题
#include
using namespace std;
class AAA {
int a[10]; int n;
//ERROR **********found**********
private:
AAA(int aa[], int nn): n(nn) {
//ERROR **********found**********
for(int i=0; i
基本操作 答案
#include
using namespace std;
class AAA {
int a[10]; int n;
//ERROR **********found**********
public:
AAA(int aa[], int nn): n(nn) {
//ERROR **********found**********
for(int i=0; i
简单应用 原题
#include
using namespace std;
class Base
{
public:
Base(int m1,int m2) {
mem1=m1; mem2=m2;
}
int sum(){return mem1+mem2;}
private:
int mem1,mem2; //基类的数据成员
};
// 派生类Derived从基类Base公有继承
//*************found**************
class Derived: _______________
{
public:
//构造函数声明
Derived(int m1,int m2, int m3);
//sum函数定义,要求返回mem1、mem2和mem3之和
//*************found**************
int sum(){ return _____________+mem3;}
private:
int mem3; //派生类本身的数据成员
};
//构造函数的类外定义,要求由m1和m2分别初始化mem1和mem2,由m3初始化mem3
//**********found**********
____________Derived(int m1, int m2, int m3):
//**********found**********
____________, mem3(m3){}
int main() {
Base a(4,6);
Derived b(10,15,20);
int sum=a.sum()+b.sum();
cout<<"sum="<
#include
using namespace std;
class Base
{
public:
Base(int m1,int m2) {
mem1=m1; mem2=m2;
}
int sum(){return mem1+mem2;}
private:
int mem1,mem2; //基类的数据成员
};
// 派生类Derived从基类Base公有继承
//*************found**************
class Derived: public Base
{
public:
//构造函数声明
Derived(int m1,int m2, int m3);
//sum函数定义,要求返回mem1、mem2和mem3之和
//*************found**************
int sum(){ return Base::sum()+mem3;}
private:
int mem3; //派生类本身的数据成员
};
//构造函数的类外定义,要求由m1和m2分别初始化mem1和mem2,由m3初始化mem3
//**********found**********
Derived::Derived(int m1, int m2, int m3):
//**********found**********
Base(m1,m2), mem3(m3){}
int main() {
Base a(4,6);
Derived b(10,15,20);
int sum=a.sum()+b.sum();
cout<<"sum="<
综合应用 原题
//main.cpp
#include "MiniString.h"
#pragma warning (disable:4996)
MiniString& MiniString::append(char *p, int n)
{
MiniString temp(str);
delete[] str;
str = new char [strlen(temp.str)+n+1];
//********333********
//********666********
str[strlen(temp.str)+n] = ' ';
return *this;
}
int main()
{
MiniString mStr("I am learning C++");
char iStr[]=" and Java";
cout << "Initial strings:n";
cout << "MiniString: " << mStr << endl;
cout << "char*: " << iStr << endl << endl;
cout << "Append char* into MiniString:n";
mStr.append(iStr,7);
cout << mStr << endl;
writeToFile(".\");
return 0;
}
//MinString.h
#include
#include
#pragma warning (disable:4996)
using namespace std;
class MiniString
{
public:
MiniString(const char* s)
{
str=new char[strlen(s)+1];
strcpy(str,s);
}
~MiniString() { delete[] str; }
MiniString& append(char *p,int n); //将char*数组p的前n个字符添加到现有字符串
char* getStr() const { return str; }
friend ostream& operator<<(ostream& o,MiniString& s) //输出字符串str
{
int len=strlen(s.str);
for(int i=0;i
综合应用 答案
#include "MiniString.h"
#pragma warning (disable:4996)
MiniString& MiniString::append(char *p, int n)
{
MiniString temp(str);
delete[] str;
str = new char [strlen(temp.str)+n+1];
//********333********
str=new char[strlen(temp.str)+n+1];
strcpy(str,temp.str);
strncat(str,p,n);
//********666********
str[strlen(temp.str)+n] = ' ';
return *this;
}
int main()
{
MiniString mStr("I am learning C++");
char iStr[]=" and Java";
cout << "Initial strings:n";
cout << "MiniString: " << mStr << endl;
cout << "char*: " << iStr << endl << endl;
cout << "Append char* into MiniString:n";
mStr.append(iStr,7);
cout << mStr << endl;
writeToFile(".\");
return 0;
}