Консультация № 144823
23.09.2008, 23:23
0.00 руб.
0 1 1
Составить программу, которая определяет четыре объекта класса. 1 объект должен инициализироваться по умолчанию, 2 использовать крнструктор инициализации, 3 преобразование типа своего параметра к типу своего класса, 4 функцию ввода данных. Объявить функции ввода и вывода как "друзей" класса с параметром-объектом класса, передаваемым по значению и по ссылке.

Задание: Класс "Компьютер" с данными тактовой частотой процессора обьём ОЗУ, емкость диска

Обсуждение

Неизвестный
25.09.2008, 15:19
общий
это ответ
Здравствуйте, Шептелуть Михайл Сергеевич!
В приложении код, который инициилизирует объекты класса по вашим пунктам. Тока не понял п.3 . У меня объект получает переменную какого-нибудь типа и приводит его к нужному типу, который определен в классе.


Приложение:
//Подключает ввод-вывод
#include <iostream>

//Класс Cat
class Cat
{
public:
//Конструктор по-умолчанию
Cat();
//Конструктор, принимающий параметр
Cat(int initialAge);
~Cat();
//Функции-член класса
int GetAge() ;
void SetAge(int age);

//Дружественные функции

//В качестве аргумента передается объект
friend Cat CatSetAge1(Cat);
friend int CatGetAge1(Cat);

//В качестве аргумента передается ссылка
friend int CatGetAge2(Cat&);
friend void CatSetAge2(Cat&);
private:
int itsAge;
};
//По-умолчанию, возраст равен 0
Cat::Cat(){itsAge=0;}

//Если передается параметр, то значение возраста становится равным ему
//полученный параметр приводится к типу int
Cat::Cat(int initialAge){itsAge=(int)initialAge;}

Cat::~Cat(){}

//Определение функций
int Cat::GetAge(){return itsAge;}
void Cat::SetAge(int age ){itsAge=age;}

Cat CatSetAge1(Cat F){F.itsAge=7; return F;}
int CatGetAge1(Cat F){return F.itsAge;};

void CatSetAge2(Cat& F){F.itsAge=9;}
int CatGetAge2(Cat& F){return F.itsAge;};

//Задает стандартное пространство имен
using namespace std;

int main()
{
//itsAge равно значению по-умолчпнию
Cat One;
cout<<"OIIPEDEJIEHuE IIO-YMOJI4AHuIO\n"<<"\tAge:\t"<<One.GetAge()<<"\n\n";

//Новый экземпляр класса принимает itsAge инициализируется, равной 5;
Cat Two(5);
cout<<"IIOJI4AET IIAPAMETP\n"<<"\tAge:\t"<<Two.GetAge()<<"\n\n";

//Переменная, которую получает новый экземпляр класса приводится к типу int
//и itsAge присваивается это значение
Cat Three('!');
cout<<"IIPuBEDEHuE APGYMEHTA K TuIIY APGYMEHTA CBOEGO KJIACCA\n"<<"\tAge:\t"<<Three.GetAge()<<"\n\n";

//Значение itsAge устанавливается с помощью дружественной ф-ии, принимаюшей
//в кач-ве аргумента эземпляр класса
Cat Four;
Four=CatSetAge1(Four);
cout<<"IIEPEDA4A OB`EKTA B FYHKCuIO\n"<<"\tAge:\t"<<CatGetAge1(Four)<<"\n\n";

//Значение itsAge устанавливается с помощью дружественной ф-ии, принимаюшей
//в кач-ве аргумента ссылку на эземпляр класса
Cat Five;
CatSetAge2(Five);
cout<<"IIEPEDA4A CCIbJIKu B FYHKCuIO\n"<<"\tAge:\t"<<CatGetAge2(Five)<<"\n\n";

return 0;
}
Форма ответа