Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Определить количество строк матрицы А, содержащих W(N, M) https://www.cyberforum.ru/ cpp-beginners/ thread2003701.html
Дана матрица A(N,M). определить количество рядков матрицы А, содержащих W(N,M) Числа целые, N-рядки=5,M-столбики, элементы от -5 до 6 Код С++, пожалуйста.
Программирования графики в с++ Метод Pixels C++
По методам визуальным программированием разработать программу построения в пикселях графического изображения функции y=pow(x,2)*sin(x) на интервале .
C++ Как убрать дублирующиеся (повторяющиеся) слова, используя <set> или <map> без сортировки? https://www.cyberforum.ru/ cpp-beginners/ thread2003689.html
Здравствуйте! Пытаюсь убрать из текстового файла дублирующие слова, чтобы они были уникальны без сортировки, но моя попытка не увенчалось успехом. Есть текстовый файл с именами: Kavi Sharma Leong...
C++ Посчитать сумму четных элементов массива F, которые превышают заданное число А Посчитать сумму парных элементов массива F, которые превышают заданное число А А=8, количество элементов N = 12 , элементы от 2 до 25 Скиньте код С++ , пожалуйста https://www.cyberforum.ru/ cpp-beginners/ thread2003686.html
C++ Поменять местами элементы главной и побочной диагонали матрицы до середины
помогите пожалуйста. нужно поменять местами элементы главной и побочной диагонали матрицы nxn до середины
C++ "Ссылка на неразрешенный внешний символ _main" Добрый день, я столкнулся с такой проблемой при построения класса (условия внизу), вроде все верно, но выбивает ошибку: "error LNK2019: ссылка на неразрешенный внешний символ _main в функции... https://www.cyberforum.ru/ cpp-beginners/ thread2003676.html
C++ Создать логику обработки события https://www.cyberforum.ru/ cpp-beginners/ thread2003673.html
День добрый всем, для своих программок решил сделать простой GUI на opengl, так как планов много, а готовые либы слишком сложные( хочу работать с сетями, с готовыми либами GUI возиться не хочется)....
C++ Функция, которая вставляет в непустой список новый элемент
Написать функцию, которая вставляет в непустой список, элементы которого упорядочены по возрастанию значение одного из полей таблицы, новый элемент таким образом, чтобы сохранилась упорядоченность.
C++ Дано натуральное число 53576. Узнать сколько цифр оно содержит Лабораторная работа 10 класс . Очень надо, пожалуйста ! Дано натуральное число 53576. Узнать сколько цифр оно содержит https://www.cyberforum.ru/ cpp-beginners/ thread2003670.html C++ Ошибка в сортировке пузырьком помогите разобраться в чем заключается ошибка. при выполнении функции происходит ошибка #include <iostream> using namespace std; void SortBubble(int* ar, int length) { int i(0), b(0); https://www.cyberforum.ru/ cpp-beginners/ thread2003664.html
C++ Проверить, находится ли точка внутри, на границе, или за пределами треугольника
Дан треугольник и K точек. Для каждой точки нужно определить, где она находится – внутри, на границе, или снаружи. Заранее спасибо. Входные данные В первой строке входных данных заданы шесть ...
C++ Доопределить соответствующие член-функции Задача: Для классов: class Point{int x,y; public: 1.1.1.1. Point(int a,int b) {x=a; y=b}; ....... }; class Rect {Point lt,rb; public: Rect(Point a,Point... https://www.cyberforum.ru/ cpp-beginners/ thread2003660.html
0 / 0 / 0
Регистрация: 12.01.2016
Сообщений: 29
0

Объявление статической переменной и статической функции в классе - C++ - Ответ 10543932

14.06.2017, 19:29. Показов 709. Ответов 2
Метки (Все метки)

Добрый вечер, столкнулся с проблемой и не могу решить. Есть класс SavingsAccount и в нем объявлена статическая переменная для процентной ставки на всех клиентов. Есть функция modifyInterestRate которая должна изменять значение статической переменной если соответствует диапазону от 0 до 100. Проблема в том что как я понимаю компилятор жалуется на функцию которая тоже статическая, но вот как решить данную проблему не смог найти, прошу помощи вот файлы класса и реализации
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#ifndef SAVINGSACCOUNT_H
#define SAVINGSACCOUNT_H
class SavingsAccount{
public:
    SavingsAccount(double=0,int=0);
    ~SavingsAccount();
    SavingsAccount &calculateMonthlyInterest();
    static void modifyInterestRate(int);
    void print()const;
private:
    int static annualInterestRate;
    double savingsBalance;
 
};
#endif
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#include <iostream>
#include <iomanip>
 
#include "SavingsAccount.h"
 
using namespace std;
 
SavingsAccount::SavingsAccount(double balance,int rate)
{
    annualInterestRate = 0;
    cout << "Конструктор класс SavingsAccount запущен" << endl;
    modifyInterestRate(rate);
    savingsBalance = balance;
}
 
SavingsAccount::~SavingsAccount()
{
    cout << "Деструктор класса SavingsAccount запущен" << endl;
}
 
void SavingsAccount::modifyInterestRate(int rate){
    if (rate >= 0 && rate <= 100)
        annualInterestRate = rate;
    else{
        cout << "Ошибка ввода процентной ставки, ставка выставлена в 0%" << endl;
        annualInterestRate = 0;
    }
}
 
SavingsAccount &SavingsAccount::calculateMonthlyInterest(){
    savingsBalance += (savingsBalance*(static_cast<double>(annualInterestRate)*0.01)) / 12;
    return *this;
}
void SavingsAccount::print()const{
    cout << "Текущий баланс при процентной ставке: " << annualInterestRate << "% равен: $" <<fixed<<setprecision(2)<< savingsBalance << endl;
}
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
#include <iomanip>
#include <math.h>
 
#include "SavingsAccount.h"
 
 
using namespace std;
 
int main(){
    setlocale(LC_ALL, "Russian");
    SavingsAccount saver1(2000.0);
    SavingsAccount saver2(3000.0);
    SavingsAccount::modifyInterestRate(5);
    saver1.calculateMonthlyInterest().print();
    saver2.calculateMonthlyInterest().print();
    return 1;
}


Вернуться к обсуждению:
Объявление статической переменной и статической функции в классе C++
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.06.2017, 19:29
Готовые ответы и решения:

Вылет приложения при вызове статической функции/переменной из библиотеки
Создал библиотеку в ней есть статический класс при вызове которого из приложения получаю аварийное...

Инициализация статической константы в классе
собственно сабж как это сделать если константа имеет тип класса? (не интегральная) т.е. надо...

Объявление статической переменной
в наследнике класса Thread в модуле h объявляю private static int iLink. Компилится нормально....

Проблема с взаимодействием динамической и статической памяти - обращение к статической переменной
Здравствуйте! Помогите решить проблему! Задача такая: написать сортировку бинарным деревом, так...

2
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.06.2017, 19:29

Инициализация статической переменной в базовом классе
Есть класс Tank. От этого класса будут наследники MyTank и EnemyTank. В классе Tank есть...

Обращение к статической переменной указав ее как параметр функции
Добрых времени суток. Есть статический класс. public static class DataActions { ...

Создание статической переменной
Задание звучит так: Объявить статическую переменную z. При каждом нажатии командной кнопки значение...

Наследование статической переменной
есть класс с статистическим полем я от него &quot;произвожу&quot; два потомка. у всех этик классов будет...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.