5513,
Conteúdo do tópico:
P140 O Exemplo 5.2 define a classe person, que contém membros de dados privados age e constructor, funções membro setage e show functions. Defina a pessoa de herança privada do aluno da classe derivada, a classe derivada contém membros de dados privados critit e constructor, função de membro setage_cre e função show. O objeto da classe derivada stu1 é definido na função principal, e os valores iniciais são 19 e 166. Use o objeto para chamar a função de membro setage_cre, os parâmetros reais são 20 e 168. A saída é o valor do membro do objeto stu1.
Descrição de entrada e saída:
saída: a idade é 20 crédito é 168#include<iostream> using namespace std; class person{ protected: int age; public: person(int age){ this->age=age; } void setage(int age){ this->age=age; } void show(){ cout<<"age is "<<age<<endl; } }; class student :public person{ protected: int credit; public: student(int credit,int age1) : person(age1){ this->credit=credit; } void setage_cre(int credit,int age){ this->credit=credit; this->age=age; } void show(){ person::show(); cout<<"credit is "<<credit<<endl; } }; int main(){ student stu1(166,19); stu1.setage_cre(168,20); stu1.show(); }
5518,
Conteúdo do tópico:
Defina a classe base B com o membro de dados privado i, defina construtor e destruidor e inclua instruções de saída para garantir que eles sejam chamados. Há também uma função membro que gera o valor de i.
Defina a classe derivada D com o membro de dados privado j, defina o construtor e o destruidor e inclua instruções de saída para garantir que eles sejam chamados. Há também uma função membro que gera o valor de j.
A função main define o objeto da classe derivada obj com valores iniciais de 50 e 60. Emita o valor do membro de dados obj.
Descrição de entrada e saída:
saída: c base c derivado 60 50 d derivado base d
#include<iostream> using namespace std; class B{ protected: int i; public: B(int i){ this->i=i; cout<<"c base"<<endl; } ~B(){ cout<<"d base"<<endl; } void output(){ cout<<i<<endl; } }; class D : public B{ protected: int j; public: D(int i,int j):B(i){ this->j=j; cout<<"c derived"<<endl; } ~D(){ cout<<"d derived"<<endl; } void output(){ B::output(); cout<<j<<endl; } }; int main(){ D obj(60,50); obj.output(); }
5519,
Conteúdo do tópico:
P158 Exemplo 5.11
Defina as classes base base1 e base2, que contêm os membros de dados privados x e y, respectivamente. Os construtores e as funções de membro devem ser definidos para obter o valor do membro de dados.
Defina a classe derivada derivada, que herda a base1 publicamente e herda a base2 de forma privada. Contém o membro de dados z. Defina construtores e funções de membro.
O objeto de classe derivado obj é definido na função principal, e os valores iniciais são 1, 3 e 5. Implementa a saída do membro de dados.
Descrição de entrada e saída:
saída: x=1 y=3 z = 5
#include<iostream> using namespace std; class base1{ protected: int x; public: base1(int x){ this->x=x; } void output(){ cout<<"x="<<x<<endl; } }; class base2{ protected: int y; public: base2(int y){ this->y=y; } void output(){ cout<<"y="<<y<<endl; } }; class derived :public base1,private base2{ protected: int z; public: derived(int x,int y,int z):base1(x),base2(y){ this->z=z; } void output(){ base1::output(); base2::output(); cout<<"z="<<z<<endl; } }; int main(){ derived obj(1,3,5); obj.output(); }
5520,
Conteúdo do tópico:
P165 Exemplo 5.15
Defina a base de classe base virtual, que contém um membro de dados a e um construtor.
As classes derivadas base1 e base2 que definem a base de classe base virtual contêm membros de dados b, c e construtores, respectivamente.
A classe derivada derivada que define base1 e base2 contém o membro de dados d e um construtor.
Requer uma instrução de saída no construtor para saber se ela é chamada.
O objeto derivado obj é definido na função main.
Descrição de entrada e saída:
saída: c base c base1 c base2 c derivar
#include<iostream> using namespace std; class base{ protected: int a; public: base(int a){ this->a=a; cout<<"c base"<<endl; } base(){ cout<<"c base"<<endl; } }; class base1:virtual public base{ protected: int b; public: base1(int a,int b):base(a){ this->b=b; cout<<"c base1"<<endl; } }; class base2:virtual public base{ protected: int c; public: base2(int a,int c):base(a){ this->c=c; cout<<"c base2"<<endl; } }; class derived :public base1,public base2{ protected: int d; public: derived(int a1,int a2,int b,int c,int d):base1(a1,b),base2(a2,c){ this->a=a; this->d=d; cout<<"c derived"<<endl; } }; int main(){ derived obj(1,2,3,4,5); }