Crear un objeto de una clase dentro de otra declaración de la clase en C ++

Aquí, vamos a aprender mediante un programa cómo crear un objeto de una class dentro de otra declaración class en C ++ Programming Language ?

Como sabemos que una class contiene miembros de datos y función miembro, y un objeto también puede ser un miembro de datos class otra for.

Aquí, en el programa dado, estamos haciendo lo mismo. Tenemos un class llamado Marcas que contiene dos miembros de datos RNO – a la tienda número de rollo y PERC – para almacenar el porcentaje del estudiante. Tenemos otra llamada class Los estudiantes que contiene dos miembros nombre – para almacenar el nombre del estudiante y objM – que es un objeto de Marcas class.

En Los estudiantes class hay dos funciones miembro:

  1. readStudent () – Para leer el nombre del estudiante, y aquí, llamamos readMarks () función miembro de Marcas class mediante el uso de objM – leerá número de rollo y porcentaje.
  2. printStudent () – Para imprimir el nombre del estudiante, y aquí, llamamos printMarks () función miembro de Marcas class utilizando objM – se imprimirá número de rollo y porcentaje.

Programa:

#include <iostream>
#include <string.h>
using namespace std;
class Marks
{
private:
int rno;
float perc;
public:
//constructor
Marks()
{rno = 0; perc = 0.0f;}
//input roll numbers and percentage
void readMarks(void)
{
cout<<"Enter roll number: ";
cin>>rno;
cout<<"Enter percentage: ";
cin>>perc;
}
//print roll number and percentage
void printMarks(void)
{
cout<<"Roll No.: "<<rno<<endl;
cout<<"Percentage: "<<perc<<"%"<<endl;
}
};
class Student
{
private:
//object to Marks class
Marks objM;
char name[30];
public:
//input student details
void readStudent(void)
{
//Input name
cout<<"Enter name: ";
cin.getline(name, 30);
//input Marks
objM.readMarks();
}
//print student details
void printStudent(void)
{
//print name
cout<<"Name: "<<name<<endl;
//print marks
objM.printMarks();
}
};
//main code
int main()
{
//create object to student class
Student std;
std.readStudent();
std.printStudent();
return 0;
}

salida

Enter name: Amit Shukla
Enter roll number: 101
Enter percentage: 84.02
Name: Amit Shukla
Roll No.: 101
Percentage: 84.02%


Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *